2014-12-03 209 views
-1

我想知道您是否可以幫我解決一個我正在使用谷歌距離矩陣api的問題。Google距離矩陣問題

請參閱下面我的代碼:

//////////////////////////////////////////////////////////////// 
    var build = function (pc) { 
     var origin = "london"; 
     var dest = pc; 
     var service = new google.maps.DistanceMatrixService(); 
     service.getDistanceMatrix(
       { 
        origins: [origin], 
        destinations: [dest], 
        travelMode: google.maps.TravelMode.DRIVING, 
        durationInTraffic: true, 
        avoidHighways: false, 
        unitSystem: google.maps.UnitSystem.METRIC, 
        avoidTolls: false 
       }, callback); 
     function callback(response, status) { 
      var distanceVal = response.rows[0].elements[0].distance.value; 
      return distanceVal; 
     } 
    }; 
//////////////////////////////////////////////////////////////// 
    for (var i = 0; i < dealers.length; i++) { 
     var postcode = dealers[i].address[0].postcode; 
     var output = build(postcode); 
     console.log(output); 
    } 
/////////////////////////////////////////////////////////////////////////// 

當寫到我想看到從谷歌API返回的值不同的控制檯。出於某種原因,它似乎並不返回任何

在此先感謝

+0

距離服務是異步的,你需要在回調函數可用時使用返回的數據。 – geocodezip 2014-12-03 14:48:28

回答

0

把返回之前在回調函數裏面的console.log代碼...

+0

嗨,感謝您的回答。不幸的是,這不能滿足我的要求。我需要訪問變量並使用for循環內的數據 – KM123 2014-12-03 14:50:34

+0

有些變量在函數內部無法訪問嗎?從我所看到的情況來看,如果在回調函數中可以訪問交易商,您應該可以。 – rfornal 2014-12-03 14:53:20