Как я могу получить широту/язык с помощью Geocode?

У меня есть адрес, и теперь мне нужно получить координаты широты и долготы.
В Google у них есть хорошие примеры только для версии 2, а не для версии 3.

Я хочу сделать следующее:

var myLatLAng = getLatLang(adress);

Как я могу изменить этот код, чтобы это произошло?

function showAddress(address) {
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " not found");
      } else {
        map.setCenter(point, 13);
        var marker = new GMarker(point);
        map.addOverlay(marker);
        marker.openInfoWindowHtml(address);
      }
    }
  );
}

person Steven    schedule 15.12.2009    source источник


Ответы (1)


Вы не можете вернуть какое-либо значение, потому что getLatLng использует функцию обратного вызова, поэтому она может взаимодействовать только с вашей средой.
Вы можете назначить ее какой-либо другой переменной.

var lat, lng;
function showAddress(address) {
    ...
    } else {
         lat = point.lat();
         lng = point.lng();

         orExecuteOtherfunction();
    }
}

Или выполните какую-то другую функцию, которая что-то сделает с вашей возвращенной точкой.

person hsz    schedule 15.12.2009
comment
Да... этого я и опасался :(. Спасибо. - person Steven; 15.12.2009