, если это кому-то помогает ... Я сдался и полностью изменил саму логику, и теперь он работает как положено:
сначала я добавил google maps js в тело
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = 'http://maps.google.com/maps/api/js?sensor=false&callback=get_longlat';
$("body").append( script );
Как вы можете видеть, я указал функцию обратного вызова get_longlat ...
, поэтому я определил эту функцию и использовал объект геокода google
function get_longlat(address){
var geocoder = new google.maps.Geocoder();
if(!address){
var p = US.get("location_postal");
var c = US.get("location_city");
var a = US.get("location_address");
var address = a + ', ' + p + ' ' + c + ', Slovenia';
}
if (geocoder) {
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
US.set("location_lat", results[0].geometry.location.lat(), 60);
US.set("location_lon", results[0].geometry.location.lng(), 60);
$('#location_setter').dialog('close');
}
else {
console.log('No results found: ' + status);
}
});
}
}
Переменные США внутри - это наше собственное пространство имен для НАСТРОЙКИ ПОЛЬЗОВАТЕЛЯ
надеюсь, это кому-нибудь поможет