我正在使用Google地图v3库,Multi-Marker库扩展了Google地图的功能,可以将地图标记图标快速添加到地图中。
我无法弄清楚如何使用上面链接的多标记库删除单个单个地图标记。
有没有人有任何想法如何使用多标记库(和/或谷歌地图)?我已经尝试联系该项目的首席开发人员,但我没有收到回复。
感谢您的帮助。
此外,链接是有关此库的更多信息
http://blog.redfin.com/devblog/2010/07/introducing_multimarker_the_fastest_way_to_add_many_hundreds_or_thousands_of_markers_on_google_maps.html
更新:
我已经链接了我正在做的事情的示例代码。我想动态删除特定的地图标记图标(叠加),但我正在努力如何做到这一点。任何建议将非常感激。感谢
实例:
http://multimarker.googlecode.com/svn/trunk/fast-marker-overlay/maps-v3/example/clickable.html
答案 0 :(得分:1)
Normaly,仅使用谷歌地图api,从地图上移除叠加层,您需要在叠加层上调用setMap(null)方法。
正如我所看到的,Multi-Marker库使用一个数组来保存所有标记并创建一个叠加层以在地图上显示,这是一个包含标记的叠加层。要删除一个,它应该可以从数组中删除标记(你需要知道它在数组中的位置)并重绘重叠。
编辑:
你需要类似于函数clearOverlays(){var i = overlays.length; while(i--){var overlay = overlays [i]; if(overlay)overlay.setMap(null);删除叠加层[i]; }}
但是您需要知道要删除的标记数组中的位置。该功能将如下所示:
function clearOneOverlay(var position) { var overlay = overlays[position]; if (overlay) overlay.setMap(null); delete overlays[position]; }
答案 1 :(得分:0)
试试这个:记住你点击哪个标记,然后再将其删除
请考虑以下代码(Google Maps v2)
var current_marker;
GEvent.addListener(marker, "click", function() {
current_marker = marker;
});
//remove later
current_marker.setMap(null);