var alt, lat, long;
function onSuccess(position) {
lat = position.coords.latitude;
long = position.coords.longitude;
alt = position.coords.altitude;
}
function onError(error) {
myApp.alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n', main_title);
}
navigator.geolocation.getCurrentPosition(onSuccess, onError, { enableHighAccuracy: true });
alert(long + ' ' + lat);
嗨,我是java脚本的新手。请帮我从上面的方法中获得协调。警报只是未定义。
答案 0 :(得分:2)
问题是您的警报的位置。警报需要进入onSuccess回调方法。以下是JavaScript如何解释您的代码。
看到问题?当地理定位异步发生时,警报立即发生。看起来地理位置可能会立即发生,但就代码流而言,在我们的其余代码运行完毕后,它将在未来发生。
请尝试使用此代码:
var alt, lat, long;
function onSuccess(position) {
lat = position.coords.latitude;
long = position.coords.longitude;
alt = position.coords.altitude;
allert(long + ', ' + lat);
}
function onError(error) {
myApp.alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n', main_title);
}
navigator.geolocation.getCurrentPosition(onSuccess, onError, { enableHighAccuracy: true });
答案 1 :(得分:1)
您应该定义OnSuccess
函数并获取latitude
和longitude
;
function onSuccess(pos) {
var crd = pos.coords;
console.log('Your current position is:');
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
}
navigator.geolocation.getCurrentPosition(onSuccess, onError, { enableHighAccuracy: true });