我正在构建需要用户位置的应用程序,以实现此目的,我正在使用:
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
console.log('Your current position is:');
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
console.log(`More or less ${crd.accuracy} meters.`);
console.log(` ${crd.longitude}`);
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
console.log(`Latitude : 9`);
}
navigator.geolocation.getCurrentPosition(success, error, options);
如何将用户的经度和纬度传递给全局变量?
全局声明变量并在回调中分配它们...(全局变量不是一个好习惯)
window.userLat = null;
window.userLng = null;
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
console.log('Your current position is:');
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
console.log(`More or less ${crd.accuracy} meters.`);
console.log(` ${crd.longitude}`);
userLat = crd.latitude;
userLng = crd.longitude;
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
console.log(`Latitude : 9`);
}
navigator.geolocation.getCurrentPosition(success, error, options);
您可以使用本地存储作为优化解决方案。
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
console.log('Your current position is:');
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
console.log(`More or less ${crd.accuracy} meters.`);
let userLatitude = crd.latitude;
let userLongitude = crd.longitude;
localStorage.setItem("USER_LATITUDE", userLatitude);
localStorage.setItem("USER_LONGITUDE", userLongitude);
console.log(` ${crd.longitude}`);
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
console.log(`Latitude : 9`);
}
navigator.geolocation.getCurrentPosition(success, error, options);
如果您想使用此位置数据;
var latitude = localStorage.getItem('USER_LATITUDE');
var longitude = localStorage.getItem('USER_LONGITUDE');