从 google map api v3 中删除路线

Posted

技术标签:

【中文标题】从 google map api v3 中删除路线【英文标题】:Remove directions from google map api v3 【发布时间】:2011-08-04 11:50:00 【问题描述】:

我有一个使用 API v3 的谷歌地图,它可以获取从一个位置到另一个位置的路线。该应用程序运行良好,但获取方向的窗口是地图上的叠加层。我想要它,所以当这个窗口关闭时,方向会从地图中移除,但其他标记仍然存在。

我尝试了以下方法:

$('#content .close').live('click', function() 
$('#content').hide();
directionDisplay = new google.maps.DirectionsRenderer();
directionDisplay.suppressMarkers = true;
directionDisplay.setMap(map);
return false;
);

这似乎按预期隐藏了窗口,但对于从地图中删除方向没有任何作用。

非常感谢任何帮助。

戴夫。

【问题讨论】:

***.com/questions/5232756/… 问题已经解决了!先搜索再问。 从这里:***.com/questions/5232756/…尝试方向Display.setDirections(routes: []); remove route with google map的可能重复 【参考方案1】:

您可以将 DirectionsRenderer 的地图绑定更改为“null”以移除方向覆盖

directionDisplay.setMap(null);

【讨论】:

类似地,如果您使用面板来显示路线,您可以通过 directionDisplay.setPanel(null); 来清除它 如果我想用同一张地图显示另一组路线怎么办?我再次在渲染器上设置地图?必须有更好的方法来做到这一点!【参考方案2】:

你可以试试这个,不要失去对地图的参考

directionDisplay.set('directions', null);

【讨论】:

这是一个有用的补充,对我有帮助,因为我需要维护参考。谢谢! 我觉得这应该被标记为答案。 Google 支持的 API 文档在初始化时将 DirectionsDistplay 对象绑定到地图和面板。因此,在使用页面事件操作路线时,清除路线内容似乎更有意义,而不是取消与地图和面板的连接。 这是最好的答案:它允许在不重新初始化地图的情况下显示/隐藏方向。【参考方案3】:

您还可以使用: directionsDisplay.setDirections(routes: []);

【讨论】:

【参考方案4】:

应该是这样的:

directionDisplay.setMap(null);

【讨论】:

我找到了***.com/questions/3264072/…【参考方案5】:

以上都不适合我,这是我需要的:

// Clear past routes
    if (directionsDisplay != null) 
        directionsDisplay.setMap(null);
        directionsDisplay = null;
    

【讨论】:

这与其他答案有何不同? 天哪,这是很久以前的事了,但我想仅仅将“setMap”属性设为空是不够的,我还必须将它的父级设为空才能使其按要求工作。【参考方案6】:

使用directionDisplay.setMap(null); 将删除整个方向渲染器覆盖,包括标记。如果您只想删除保留标记的路线,您可以在初始化后使用setOptionssuppressPolylines 更改 DirectionsRenderer 的选项设置

directionsDisplay.setOptions(
    suppressPolylines: true
  );

(另见我的另一个similar answer)

【讨论】:

如果你抑制折线,那么它们将永远不会显示。这里问题的上下文不同

以上是关于从 google map api v3 中删除路线的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Google Maps v3 API 中删除带有 mysql 数据的标记?

Google Maps Api v3 - 如何删除集群图标?

在 google maps api v3 中隐藏方向服务中的标记

在 Google Maps API v3 中删除标记

Google Maps API v3:如何删除事件监听器?

使用 google map javascript api v3 在 google map 上添加多个目的地