2013-08-05 87 views
1

我想使用谷歌的api矩陣的距離從兩個地址檢索儀表,但回調函數永遠不會被調用。也許範圍問題?回調api谷歌

prove: function(){ 


     var origin = new google.maps.LatLng(50.087, 40.087); 
     var destination= new google.maps.LatLng(38, 39); 

     function calculateDistances() { 
     var service = new google.maps.DistanceMatrixService(); 
     service.getDistanceMatrix(
     { 
     origins: [origin], 
     destinations: [destination], 
     travelMode: google.maps.TravelMode.DRIVING, 
     unitSystem: google.maps.UnitSystem.METRIC, 
     avoidHighways: false, 
     avoidTolls: false 
     }, callback);  <--netbeans tell me callback is not declared 
            } 


    function callback(response, status) { 
     console.log("incallback");    <---never called 

             } 




       }   
+0

只是一個評論,將更容易,如果你格式化你的代碼 – user1477388

+0

完成,格式化.. –

+0

你沒有傳遞任何參數到你的回調,爲一。看到這個更多的信息http://stackoverflow.com/questions/14061990/javascript-pass-parameter-to-callback-or-set-variable-value-in-distancematrixsta – user1477388

回答

1

我想你的calculateDistances()也沒有被調用。我對麼?

這是因爲,你剛剛聲明瞭你的函數,但沒有在任何地方調用calculateDistances。放一個calculateDistances();在證明:函數(){},它應該工作

+0

我無法獲得距離...它返回零結果爲什麼? –

+0

可能是因爲找不到出發地和目的地。你有沒有嘗試控制檯記錄響應? –

+0

您的查詢結果** ZERO_RESULTS **元素狀態代碼,如[此處](https://developers.google.com/maps/documentation/javascript/distancematrix#distance_matrix_element_status_codes)所述,說明這兩點之間沒有路線。 –