从Google Maps API V3中删除方向标记

26

要从地图中移除一个普通标记,我理解你只需要调用marker.setMap(null)方法,但是当实现Google Maps方向服务时,它会自动将标记A和B添加到地图上(计算从点A到点B的方向)。我无法控制这些标记,因此我不能按照正常方式删除它们。那么我该如何删除这些标记呢?(我在地图上有自定义标记)


我也有完全相同的问题。 - Natim
是否可以使用v2 API完成相同的事情? - Jonathan
2个回答

40

当创建DirectionsRenderer对象时,将suppressMarkers选项设置为true,标记将不会显示。您还可以更改标记的样式或图标。有关其他可设置属性,请参见API规范中的 DirectionsRendererOptions

   ... 
   directionsDisplay = new google.maps.DirectionsRenderer({suppressMarkers: true});
   ...

编辑:看起来API自我的原始回答近6年来有了一些变化,所以@joni-jones的答案现在是正确的方法。我对上面的示例进行了调整以反映这一点。


1
DirectionsRenderer 没有记录文档中的 .suppressMarkers 属性。 - geocodezip
感谢您的评论,我猜测API已经改变了,因为一开始似乎对某些人有效。但由于@joni-jones的答案获得了更多的赞同票,所以它必须在几年前就已经改变了。 - Mark
有没有办法在地图上更改它的位置。我需要它们,但不是它们的默认位置,因为这会与我的设计冲突。 - Utsav Gupta
上述解决方案对我无效,但这个有效:https://dev59.com/0XA75IYBdhLWcg3wfpKr。 - vishal

32

我曾遇到类似的问题,之前的解决方法并没有帮助到我。但是我尝试了以下这个方法:

var directionsDisplay = new google.maps.DirectionsRenderer({suppressMarkers: true});
它起作用了。


嗨@joni,这会删除信息窗口,我无法添加它,只能添加自定义标记。 - harshal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接