我对谷歌地图 API v3 的方向服务对象有一些问题。
markerArray 是一个包含“google.Maps.Marker”对象的数组,我想计算它之间的距离。但是directionsService对象有时会返回“over_query_limit”错误或“unknown_error”,我不知道为什么,因为我考虑了限制时间(我每2点暂停1秒)
但最奇怪的是,这个问题只是偶尔发生。有时,程序运行正确。
谁能给我一个解决方案?
function calcRoute()
{
var start;
var end;
for (var i = 0 ; i < markersArray.length - 1 ; i++)
{
start = markersArray[i].getPosition();
for (var j = i+1 ; j < markersArray.length ; j++)
{
end = markersArray[j].getPosition();
addRoute(start,end,i,j);
addRoute(end,start,j,i);
sleep(1000);
}
}
}
function addRoute(start, end, i, j)
{
var summaryPannel;
var directionsService = new google.maps.DirectionsService();
var request =
{
origin: start,
destination: end,
travelMode: google.maps.DirectionsTravelMode.DRIVING,
optimizeWaypoints: true
};
directionsService.route(request, function(response, status)
{
summaryPanel.innerHTML += status + "<br />";
if (status == google.maps.DirectionsStatus.OK)
{
summaryPanel.innerHTML += (i+1) + " " + (j+1) + "<br/>";
}
});
}