У меня есть серьезная проблема, которую я пытался отладить в течение нескольких дней. У меня есть скрипт, который получает текущую широту и долготу пользователей, а затем сохраняет их в переменных. однако, когда я пытаюсь использовать эти переменные вне этой функции и в зоне // init map, карта просто не отображается. оповещая переменные, я вижу, что за пределами переменных функции позиции установлено значение «Неопределенный». Вот мой код:Переменная передача НЕ работает - значение Не определено
//main function here
function initialize() {
var lat;
var lon;
//check if user has geo feature
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(
//get position
function(position){
lat = position.coords.latitude;
lon = position.coords.longitude;
},
// if there was an error
function(error){
alert('ouch');
});
}
//case the users browser doesn't support geolocations
else {
alert("Your browser doesn't support geolocations, please consider downloading Google Chrome");
}
//init map
var myOptions = {
center: new google.maps.LatLng(lat, lon),
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
Спасибо за любую помощь, Ariel
Это не моя проблема, моя проблема в том, что в «центре: новый google.maps.LatLng (lat, lon)», переменные lat и lon, по-видимому, вообще не имеют никакого значения. – arielschon12
@ arielschon12 Что вы получите, если вы 'console.log (position.coords.latitude, position.coords.longitude);' внутри этой функции? –
@ arielschon12 Обновлен мой ответ! –