Google地图版本3删除路线标记

时间:2009-12-02 19:41:36

标签: javascript google-maps

有没有办法删除指示放在地图上的标记?我有4个地点在地图上显示。用户所在的绿色箭头以及标记为A,B,C的3个位置。如果我单击其中一个位置,则在用户的位置和标记之间进行路由。问题是谷歌增加了一个新的A& B标记以地图作为方向的开始和结束。现在我在地图上有几个A和B标记,这很令人困惑。

由于

6 个答案:

答案 0 :(得分:9)

DirectionsRendererOptionssuppressMarkerstrue

答案 1 :(得分:2)

这是一篇旧帖子,但我遇到了同样的问题。我有自己的标记地图,我会选择其中一些和起点,然后我会显示标记A,B,C的方向...问题是如何删除方向并再次显示我的标记。

以下是使用标记(A,B,C等)删除方向路径的方法。

directionsDisplay.setMap(null);
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(map);
RefreshMarkers(); //your function to draw your markers

directionDisplay是全局声明的。这是API v3。

答案 2 :(得分:1)

对于要删除的每个标记,请执行

marker.setMap(null);

http://code.google.com/apis/maps/documentation/v3/overlays.html#Markers

答案 3 :(得分:1)

不确定这是否有用。当您创建新的GDirection并为其提供地图对象时,一旦加载方向,它将自动将折线绘制到地图。这也会在旅程的开始和结束时自动添加标记。

但是,我注意到,如果您最初不提供地图对象,而是使用'load'事件侦听器手动将折线添加到地图,则会获得该行而不是标记。< / p>

//Don't supply a map to GDirections()
var direction = new GDirections(); 

//Make sure {getPolyline:true} is given to the load function
direction.load("here to there", {getPolyline:true});

GEvent.addListener(direction, 
                   "load", 
                   function(){ map.addOverlay(direction.getPolyline()); }
);

这可能比查找和删除标记更容易,特别是如果你正在使用'load'事件监听器。

答案 4 :(得分:1)

点击菜单然后在图层左下方按清除地图。这应该清除地图上的所有内容。

答案 5 :(得分:0)

通常你可以简单地做marker.setMap(null),但因为Directions调用会自动放置A&amp;地图上的B标记,您无法直接访问它们,因此无法以这种方式删除它们。