Google 地图标记过滤器
Google maps markers Filter
我有一长串带有地址的商店(经度和纬度以及代码客户端......)。对于每家商店,页面上的 Google 地图上都会显示一个标记。
我的问题是,用户必须能够根据一件事过滤这些标记:CodeClient。所以要更具体。如果用户在输入滑块中设置 CodeClient,它应该只显示客户端(我们放入滑块的 CodeClient 的所有者)像这样; CodeClient = 12345,所以当我们将数字 12345 放入输入滑块并单击按钮时,它应该只显示此客户端的标记,我指的是引用此客户端位置的标记。
您似乎在部分询问有关设置标记可见性的问题?如本堆栈中所述 post(以及其他)
最有可能的是,marker.setVisible(true/false)
是正确的选择。
然后基本上您将在滑块输入的更改事件处理程序中执行此操作。
一个想法是遍历标记数组并将其切换为不可见,同时将选定的标记匹配 coce-client 设置为可见。
另一个想法是将其设为 "marker dictionary",其中键是代码客户端值,即:
markers = {
12345: SomeMarkerInstance,
67890: SomeOtherMarkerInstance,
// ... etc
}
selectedMarker = '12345'
这样您就可以快速关闭当前所选标记的可见性,同时切换新选择的标记。其余标记默认不可见。
即(伪小代码)
function someEventHandler (event) {
markers[selectedMarker].setVisible(false)
markers[selectedCodeClientValue].setVisible(true)
// and perhaps other stuff, e.g. recenter the map, etc
}
您正在使用此 CodeClient
为您的标记设置标题,并且您正在将您的标记推入数组中。那么这里的大问题是什么?只需遍历数组并根据标题 (CodeClient
).
设置标记可见性
for (var i=0; i<markerArray.length; i++) {
if (markerArray[i].title == '12345') {
markerArray[i].setMap(map);
} else {
markerArray[i].setMap(null);
}
}
问题由xomena解决,这是解决路径
我有一长串带有地址的商店(经度和纬度以及代码客户端......)。对于每家商店,页面上的 Google 地图上都会显示一个标记。 我的问题是,用户必须能够根据一件事过滤这些标记:CodeClient。所以要更具体。如果用户在输入滑块中设置 CodeClient,它应该只显示客户端(我们放入滑块的 CodeClient 的所有者)像这样; CodeClient = 12345,所以当我们将数字 12345 放入输入滑块并单击按钮时,它应该只显示此客户端的标记,我指的是引用此客户端位置的标记。
您似乎在部分询问有关设置标记可见性的问题?如本堆栈中所述 post(以及其他)
最有可能的是,marker.setVisible(true/false)
是正确的选择。
然后基本上您将在滑块输入的更改事件处理程序中执行此操作。
一个想法是遍历标记数组并将其切换为不可见,同时将选定的标记匹配 coce-client 设置为可见。
另一个想法是将其设为 "marker dictionary",其中键是代码客户端值,即:
markers = {
12345: SomeMarkerInstance,
67890: SomeOtherMarkerInstance,
// ... etc
}
selectedMarker = '12345'
这样您就可以快速关闭当前所选标记的可见性,同时切换新选择的标记。其余标记默认不可见。
即(伪小代码)
function someEventHandler (event) {
markers[selectedMarker].setVisible(false)
markers[selectedCodeClientValue].setVisible(true)
// and perhaps other stuff, e.g. recenter the map, etc
}
您正在使用此 CodeClient
为您的标记设置标题,并且您正在将您的标记推入数组中。那么这里的大问题是什么?只需遍历数组并根据标题 (CodeClient
).
for (var i=0; i<markerArray.length; i++) {
if (markerArray[i].title == '12345') {
markerArray[i].setMap(map);
} else {
markerArray[i].setMap(null);
}
}
问题由xomena解决,这是解决路径