【发布时间】:2013-03-26 16:55:44
【问题描述】:
更新: 我有一些 GPS 定位点,我想绘制路径。我使用不跟随道路的折线绘制方式。我想做“捕捉到道路”,这样我就可以改善路径。
我引用了这个code 来捕捉保存在数组“snap_path_points”中的位置
我只获取前 8 个调用的路径(限制),下面是代码
var service = new google.maps.DirectionsService(), poly,snap_path=[];
poly = new google.maps.Polyline({ map: map });
for(j=0;j<snap_path_points.length-1;j++){
service.route({
origin: snap_path_points[j],
destination: snap_path_points[j+1],
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
snap_path = snap_path.concat(result.routes[0].overview_path);
poly.setPath(snap_path);
}
});
}
我将我的位置分成 8 个批次并尝试相同(即如果 24 个点使用 3 个 for 循环)但我得到 OVER_QUERY_LIMIT。
我想知道它如何与事件侦听器 here 一起工作。
OVER_QUERY_LIMIT 表示网页发送的请求过多 在允许的时间段内。
有没有办法绘制完整的超过 8 个点的道路路径。
【问题讨论】:
-
你想做什么?您尝试“捕捉”的总点数是多少? DirectionsService 虽然可用于将几个点“捕捉”到最近的道路,但用于获取方向(起点、目的地和多达 8 个免费的航点)。
-
@geocodezip 我更新了问题
-
如果它只有 24 个点,并且它们不是靠得太近,您也许可以执行类似 this 的操作,将这些点作为航路点组合成更少的方向请求,但仍会运行成百点的查询限制。您可能还会遇到道路分岔的问题(如果您提供的点位于道路的错误一侧,则生成的路线将不是最佳路线)。
-
我尝试将总共 24 个分成 3 个部分,但我没有使用航点,它们在附近,我有查询限制。
-
你有一组样本点吗?
标签: google-maps google-maps-api-3