如何制作/处理多个 Google Maps V3 DirectionsRequests? (负载监听器?)

Posted

技术标签:

【中文标题】如何制作/处理多个 Google Maps V3 DirectionsRequests? (负载监听器?)【英文标题】:How to make/handle multiple Google Maps V3 DirectionsRequests? (load listener?) 【发布时间】:2010-12-05 04:01:18 【问题描述】:

我有一个脚本试图循环遍历一小部分 Google Maps DirectionsRequest 对象;我需要一种方法让脚本等到 DirectionsService 响应,这样我就可以在进行下一个请求查询之前保存结果。 -我知道在旧版本中您可以设置如下内容:

directions = new GDirections(null, null);
directions.load("from: " + fromAddr + " to: " + toAddr);
GEvent.addListener(directions, "load", function() ...);

但 v3 文档似乎主要处理地图事件的侦听器(我不想要地图,只想要方向数据)。在 v3 中,您必须在调用 route() 方法时设置回调函数。有没有一种优雅的方法来暂停我的循环,这样它就不会在前一个得到响应之前发出新的请求查询? - 或者我别无选择,只能为每个查询创建一个新的 DirectionsService 实例?

感谢您的帮助!

卡尔

【问题讨论】:

【参考方案1】:

在这个例子中http://code.google.com/apis/maps/documentation/javascript/examples/directions-draggable.html你会看到下面一行:

  google.maps.event.addListener(directionsDisplay, 'directions_changed', function() 
    computeTotalDistance(directionsDisplay.directions);
  );

我希望这会有所帮助。感谢您提出这个问题,因为我不知道有这样的听众。

【讨论】:

以上是关于如何制作/处理多个 Google Maps V3 DirectionsRequests? (负载监听器?)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google Maps V3 上居中和缩放多个标记

关闭 Google Maps API v3 中的所有信息窗口

带标签的 Google Maps API v3 标记

使用 Google Maps JavaScript API v3 和 Geocoding API 映射多个位置

Google Maps API v3:使用 IP 地址多个 LatLng 的 Geocoder.geocode

从 MySQL 数据库在 Google Maps API v3 上绘制多个多边形