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);
}
}
如果你想使用位置數組的第一個元素的地理位置,那麼當i = 0時,就像在Javascript數組中是零索引(即array [0]是第一個元素)。更改爲'if(i === 0){' – duncan
對不起,它是數字1的元素,而不是第一個,這將是0.儘管這個練習並不重要。我改變了這個問題。 Thx –
地理定位是異步的 – geocodezip