有没有办法删除指示放在地图上的标记?我有4个地点在地图上显示。用户所在的绿色箭头以及标记为A,B,C的3个位置。如果我单击其中一个位置,则在用户的位置和标记之间进行路由。问题是谷歌增加了一个新的A& B标记以地图作为方向的开始和结束。现在我在地图上有几个A和B标记,这很令人困惑。
由于
答案 0 :(得分:9)
在DirectionsRendererOptions
集suppressMarkers
至true
答案 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标记,您无法直接访问它们,因此无法以这种方式删除它们。