【发布时间】:2014-06-19 13:57:02
【问题描述】:
我有多个位置用于建立人员位置,但如果可用,我想使用地理位置,这是位置数组的第 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 数组中是零索引(即数组 [0] 是第一个元素)。改为
if(i === 0){ -
抱歉,它是数字 1 元素,而不是第一个元素,即 0。虽然这对于本练习并不重要。我已经改变了问题。谢谢
-
地理位置是异步的
标签: javascript google-maps-api-3 geolocation