我有一些javascript代码,具体取决于地理位置。
var myLat = 0.0;
var myLng = 0.0;
function setCurrentPosition(position) {
myLat = position.coords.latitude;
myLng = position.coords.longitude;
}
function errorOccured() {
document.write("sorry, error occured :( ");
}
$(function() {
navigator.geolocation.getCurrentPosition(setCurrentPosition, errorOccured);
document.write(myLat + " " + myLng);
});
但是,此代码仅产生
0 0
而不是
"client's latitude here" "client's longitude here"
为什么?
我正在使用Google Chrome,它肯定支持地理定位。我还允许我的浏览器跟踪我的位置。
答案 0 :(得分:2)
GetCurrentPosition是一个异步函数,您可以像
一样使用它function GetGeolocation() {
navigator.geolocation.getCurrentPosition(GetCoords, GetError);
}
function GetCoords(position){
var lat = position.coords.latitude;
var long = position.coords.longitude;
var accuracy = position.coords.accuracy;
alert('Latitude: ' + lat + ', Longitude: '+ long);
}
答案 1 :(得分:0)
哦,我想我已经明白了。
我相信
navigator.geolocation.getCurrentPosition()
是一个异步函数。因此,在屏幕上打印纬度和经度值后会调用setCurrentPosition(position)
,这会打印原始值。