Я делаю следующее:
Первое - я проверяю, загрузили ли я уже данные широты и долготы.Если у меня есть, я сохраняю это в массив с именем "location".
Второе - если у меня нет загруженных данных, я пытаюсь получить текущую позицию.После этого я пытаюсь сохранить широту и долготу для текущей позиции.И, в конце концов, я вызываю setMap ();функция, где я проверяю массив местоположений и где я генерирую карту.
Проблема:
Ну, как я уже сказал ... внутри "getCurrentPosition", я пытаюсь установить текущийПоложение в массиве "location", и после этого я пытаюсь получить эти значения внутри setMap ();функция.Вот проблема, но только когда я устанавливаю значения «location» внутри «getCurrentPosition».Если я установил значения «location» вручную (из массива «data»), все работает нормально.Кроме того, когда я вызываю функцию setMap () внутри "getCurrentPosition", все работает нормально ... но когда я вызываю ее извне, не будет работать.Может кто-нибудь объяснить мне, что происходит и что я могу сделать?
Вот мой код:
location = new Array();
if (data.lat) {
location['lat'] = data.lat;
location['lng'] = data.lng;
} else {
if (!navigator.geolocation) {
//
} else {
navigator.geolocation.getCurrentPosition(function(position) {
location['lat'] = position.coords.latitude;
location['lng'] = position.coords.longitude;
});
}
}
setMap();
Спасибо.