2014-06-19 84 views
0

我有用於建立人員位置但想要使用地理定位(如果可用)的各個位置,這是位置數組的第1個元素(第2個)。如果我使用代碼,它根本不會返回一個位置(新的google.map.LatLng)。有誰知道我的代碼是否有問題,或者問題是什麼。當我通過位置循環時,爲什麼地理定位不起作用

for (var i = 0; i < locations.length; i++) { 

    var newLat = parseFloat(locations[i][1]) + (Math.random() -.5)/1500; 
    var newLng = parseFloat(locations[i][2]) + (Math.random() -.5)/1500; 

    if(i == 1){ 
     if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(function (position) { 
      var myLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
     }); 
     } else { 
     var myLatLng = new google.maps.LatLng(newLat, newLng); 
     } 
    } else { 
     var myLatLng = new google.maps.LatLng(newLat, newLng);   
    } 

}

+0

如果你想使用位置數組的第一個元素的地理位置,那麼當i = 0時,就像在Javascript數組中是零索引(即array [0]是第一個元素)。更改爲'if(i === 0){' – duncan

+0

對不起,它是數字1的元素,而不是第一個,這將是0.儘管這個練習並不重要。我改變了這個問題。 Thx –

+0

地理定位是異步的 – geocodezip

回答

0

THX所有徵求意見。我通過獲取循環外的當前位置並僅檢查循環內的值來修復它。

相關問題