为啥当我遍历位置时地理定位不起作用
Posted
技术标签:
【中文标题】为啥当我遍历位置时地理定位不起作用【英文标题】:Why is the geolocation not working when I loop through locations为什么当我遍历位置时地理定位不起作用 【发布时间】: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。虽然这对于本练习并不重要。我已经改变了问题。谢谢
地理位置是异步的
【参考方案1】:
感谢 cmets。我通过获取循环外的当前位置并仅检查循环内的值来修复它。
【讨论】:
以上是关于为啥当我遍历位置时地理定位不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Cordova 地理定位插件在 android 设备上不起作用