Google Maps API v3此回调函数如何工作?
所以这是我的问题。 回调函数未被调用。我不知道为什么。或者甚至这是如何工作的。 如何使用参数调用函数,而不是将参数放在调用中?Google Maps API v3此回调函数如何工作?
这里的
var addr = new Array(5);
addr[0] = new google.maps.LatLng(-27.352646,-53.384881);
addr[1] = new google.maps.LatLng(-27.344648,-53.395009);
addr[2] = new google.maps.LatLng(-27.365562,-53.388859);
addr[3] = new google.maps.LatLng(-27.366241,-53.401655);
addr[4] = new google.maps.LatLng(-27.360467,-53.397476);
var a = new google.maps.LatLng(-27.352901,-53.402745);
var menorDistancia;
var destinoFinal;
function callback(response, status) {
alert("CHEGOU AQUI")
if (status == google.maps.DistanceMatrixStatus.OK) {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
for (var j = 0; j < results.length; j++) {
var element = results[j];
var distance = element.distance.text;
var duration = element.duration.text;
var from = origins[i];
var to = destinations[j];
if(distance < menorDistancia || i==0){
menorDistancia = distance;
destinoFinal = to;
}
}
}
}
}
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [a,a,a,a,a],
destinations: [addr[0],addr[1],addr[2],addr[3],addr[4]],
}, callback);
你缺少travelMode代码:
每 the documentationservice.getDistanceMatrix(
{
origins: [a,a,a,a,a],
destinations: [addr[0],addr[1],addr[2],addr[3],addr[4]],
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, callback);
:
travelMode | TravelMode |请求的路由类型。 必需
TravelMode是可选的,如果省略,默认为DiretionsTravelMode.DRIVING。 https://developers.google.com/maps/documentation/javascript/distancematrix –
哈,刚刚看到您的编辑,但我的链接仍然表示它是可选的默认值:) –
文档不一致。当它不在那里的代码扔了一个JavaScript错误,它没有被定义,它没有工作。将它添加到请求工作(回调运行)。 – geocodezip
您的脚本看起来没问题,控制台中是否有任何错误? –