要从地图中移除一个普通标记,我理解你只需要调用marker.setMap(null)方法,但是当实现Google Maps方向服务时,它会自动将标记A和B添加到地图上(计算从点A到点B的方向)。我无法控制这些标记,因此我不能按照正常方式删除它们。那么我该如何删除这些标记呢?(我在地图上有自定义标记)
要从地图中移除一个普通标记,我理解你只需要调用marker.setMap(null)方法,但是当实现Google Maps方向服务时,它会自动将标记A和B添加到地图上(计算从点A到点B的方向)。我无法控制这些标记,因此我不能按照正常方式删除它们。那么我该如何删除这些标记呢?(我在地图上有自定义标记)
当创建DirectionsRenderer
对象时,将suppressMarkers
选项设置为true,标记将不会显示。您还可以更改标记的样式或图标。有关其他可设置属性,请参见API规范中的 DirectionsRendererOptions。
...
directionsDisplay = new google.maps.DirectionsRenderer({suppressMarkers: true});
...
编辑:看起来API自我的原始回答近6年来有了一些变化,所以@joni-jones的答案现在是正确的方法。我对上面的示例进行了调整以反映这一点。
.suppressMarkers
属性。 - geocodezip我曾遇到类似的问题,之前的解决方法并没有帮助到我。但是我尝试了以下这个方法:
var directionsDisplay = new google.maps.DirectionsRenderer({suppressMarkers: true});它起作用了。