У меня есть небольшой скрипт, который получает местоположение из геосъемки ... Я хочу сохранить возвращенные координаты в переменной, которую я объявил глобально ... но по какой-то причине обратный вызов не читается Это. Как заставить обратный вызов использовать глобальную переменную?jquery callback не использует глобальную переменную
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
myLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
}, function() {
noLocation();
},{timeout: 20});
}
else if (google.gears) {
var geo = google.gears.factory.create('beta.geolocation');
geo.getCurrentPosition(function(position) {
myLocation = new google.maps.LatLng(position.latitude,position.longitude);
}, function() {
noLocation();
});
}
else {
noLocation();
}
function noLocation() {
$.getJSON("http://www.geoplugin.net/json.gp?id=117.201.92.17&jsoncallback=?",
function(data) {
if (data != "" && data.geoplugin_latitude != "")
myLocation = new google.maps.LatLng(data.geoplugin_latitude, data.geoplugin_longitude)
else
myLocation = new google.maps.LatLng()
});
}
По какой-то причине я думаю, что его из-за асинхронный вызов ... Могу ли я получить по этому вопросу, как некоторые?
Каких переменными вы говорите и что вы имеете в виду «это не будет читать»? – casablanca