实际上我只想要一种方法来像以后一样访问纬度和经度全局变量。我提出了这个解决方案'如果你可以称之为。自从我做了一些OOP以来已经有一段时间了。
我需要做什么?
var geo = {
local: function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(postition){
latitude: position.coords.latitude;
longitude: position.coords.longitude;
})
}
}
};
function initMap() {
var userLocation = {lat: geo.local.latitude, lng: geo.local.longitude};
var map = new google.maps.Map(document.getElementById('map'), {
zoom:14,
center: userLocation
});
};
console.log(geo.local.longitude);
console.log(geo.local.latitude);
谢谢!
答案 0 :(得分:1)
你可以这样做:
var geo = {
local: {
longitude: "",
latitude: "",
positionFound: false
},
location: (function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
geo.local.latitude = position.coords.latitude;
geo.local.longitude = position.coords.longitude;
geo.local.positionFound = true;
});
}
})()
};
function initMap() {
var userLocation = {
lat: geo.local.latitude,
lng: geo.local.longitude
};
if (geo.local.positionFound) {
console.log(userLocation.lat + " - " + userLocation.lng);
} else {
console.log("Location Not found");
}
};
setTimeout(function() {
initMap();
}, 5000);
工作代码段位于jsFiddle,因为代码段似乎不允许位置访问。
答案 1 :(得分:0)
你可以有很多方法,比如:
1)Localstorage - How to set session variable in jquery? ; http://www.w3schools.com/html/html5_webstorage.asp
2)会话插件 - https://github.com/AlexChittock/JQuery-Session-Plugin
3)数据插件 - https://api.jquery.com/data/
4)自定义数据属性 - http://html5doctor.com/html5-custom-data-attributes/