隐藏标记-地图盒
Hide Markers - Mapbox
我已经添加了如下示例所示的标记。
for (let x = 0; x < mapMarkers.length; x++) {
//mapObject.totalMarkers.push(createMarker(mapMarkers[x].whereLat, mapMarkers[x].whereLng, mapMarkers[x].id, detailContId));
markerClusters.addLayer(createMarker(mapMarkers[x].whereLat, mapMarkers[x].whereLng, mapMarkers[x].id, detailContId));
}
markerClusters.on('clusterclick', function(a) {
zoomLevel = mapObject.getZoom();
if (zoomLevel < appConfig.userSetting.maxZoom) {
mapObject.zoomIn();
} else {
a.layer.spiderfy();
}
});
mapObject.addLayer(markerClusters);
现在我想隐藏一些标记。我做过一些类似下面的Rnd,但都没有成功。任何帮助对我都很重要。
objMap.removeLayer(mapMarkers[0]);
objMap.removeLayer(mapMarkers[0]);
如果您将mapmarker添加到地图中,这将是有意义的,但正如这段代码所示,情况并非如此:mapmarker是在添加到地图之前使用createMarker
方法转换为标记对象的数据。
从概念上讲,您有mapObject
,其中包含markerClusters
,其中包含标记(您没有分配变量名称)。因此,如果您想从标记集群中删除一个特定的标记,您需要从集群的角度调用removeLayer
,而不是从映射的角度。
可以用markerCluster.eachLayer
,比如
markerClusters.eachLayer(function (layer, i) {
if (i == 0) markerClusters.removeLayer(layer);
});
这将移除第一层。如果您想要删除集群的有一些其他标准,则需要在将标记添加到集群之前将它们存储在数组中,或者将简单的if
语句更改为测试是否应该删除标记的语句。
相关文章:
- 如何隐藏谷歌地图Api 3中InfoBox窗口中的关闭(x)按钮
- 谷歌地图加载后隐藏加载图像
- Javascript:Google Maps API:如果地图加载在隐藏容器中,则为空白地图
- 在谷歌地图上隐藏标记
- 谷歌地图隐藏手图标
- 谷歌地图自动加载标记位置中的隐藏位置
- 谷歌地图隐藏并显示地图
- 谷歌地图隐藏潜水停止隐藏
- 谷歌地图API V3-元素不会隐藏点击事件切换
- 谷歌地图叠加层消息不会保持隐藏状态
- 切换隐藏/显示谷歌地图标记
- 如果标记值已在数据库中生成,如何在地图中隐藏标记值
- 谷歌地图API - 通过类别导航隐藏所有信息窗口
- 显示/隐藏谷歌地图
- 在 NgMap 中显示和隐藏绘制控件 - 谷歌地图
- 按钮点击隐藏谷歌地图标记
- 如何在谷歌地图中隐藏河流和湖泊
- 谷歌地图:隐藏标记组
- 谷歌地图:隐藏国家边界
- Android谷歌地图:隐藏标签和显示标记