【发布时间】:2017-09-18 05:39:56
【问题描述】:
我在地图上有一个起点坐标。我有多个(100)个端点来计算从起点到终点的总距离。 起点是我的办公室,终点是我客户的位置。我想计算总距离。
我在 javascript 上使用 for 循环
for (var i = 0; i < destinations.length; i++) {
var request = {
origin: "60.758447, 69.385923",
destination: destinations[i],
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(map);
directionsDisplay.setDirections(response);
totalKM = totalKM + (response.routes[0].legs[0].distance.value / 1000);
distanceInput.value = totalKM;
console.log(totalKM)
}
});
};
但此循环仅适用于 10 个目的地。我可以在控制台日志中看到这一点。 google有限制查询限制吗?
【问题讨论】:
-
您是对的,Google 确实限制了您可以快速连续拨打的
directionService数量。 Check here 你能做多少。如果您在if (status == google.maps.DirectionsStatus.OK)之外进行检查,我确定状态将是OVER_QUERY_LIMIT或类似的。 -
如果只需要行驶距离,可以试试距离矩阵。
-
是的,我只需要距离总和。