簡體   English   中英

Google Maps API v3此回調函數如何工作?

[英]Google Maps API v3 How can this callback function work?

所以這是我的問題。 不調用回調函數。 而且我不知道為什么。 甚至這是如何工作的。 如何調用帶有參數的函數,而不將參數放在調用中?

這是代碼

    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:

service.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 | 請求的路由類型。 需要

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM