我正在尝试使用地理位置获取当前位置的纬度和经度。直到最近,极其相似的代码还在工作,我不知道它为什么停止工作。它不再设置变量latitude或longitude。当我浏览 js 代码时,getCurrentPosition() 方法被跳过,我不知道为什么。奇怪的是,如果我在 getCurrentPosition() 方法中放置一个警告框,它将正确获取并显示纬度和经度......我不知道为什么会这样。
var gl;
try {
if (typeof navigator.geolocation === 'undefined'){
gl = google.gears.factory.create('beta.geolocation');
} else {
gl = navigator.geolocation;
}
} catch(e) {}
var latitude;
var longitude;
if (gl) {
gl.getCurrentPosition(
function (position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
//alert("got the lat & long - lat=" + latitude + ", lng=" + longitude);
},
function (error) {
alert("Error getting geolocation:" + error);
}
);
} else {
alert("Geolocation services are not supported by your web browser.");
}
然后我继续使用 Google Maps API 在地图上设置一些标记。
非常感谢,
彼得
编辑
这里 JSFiddle 上的代码显示了奇怪的行为: