Google maps v3 geocoder: обратный вызов для широты и долготы - PullRequest
0 голосов
/ 31 мая 2011

Я могу создать карту Google с центром в Niwot, CO, используя геокод.Если я нажимаю кнопку «Кодировать» в форме (которую я получил с веб-сайта Google), она помещает маркер на карту в правильном месте.

Мой вопрос: как получить координаты позиции (широта и долгота) используя функцию обратного вызова javascript?Мне нужно поместить lat и long в мою базу данных.

Кроме того, сейчас я использую это только для одного места для устранения неполадок, но тогда мне понадобится это для многочисленных адресов.

Код ниже.

var geocoder;карта вар;function initialize () {

geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(40.171776, -105.116737);
var myOptions = {
  zoom: 10,
  center: latlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

}

function codeAddress () {

var address = 'Niwot, CO'; // в конечном итоге это будет геокодер массива.geocode ({'address': address}, function (results) {

    var marker = new google.maps.Marker({
        map: map,
        position: results[0].geometry.location

    });

// код ниже добавлен на основе комментария 1; как мне отобразить эти lat и lng? Мне нужно сделатьэто для устранения неполадок.

    var latlng = results[0].geometry.location; 
    var lat = latlng.lat(); 
    var lng = latlng.lng();

});}

Ответы [ 2 ]

2 голосов
/ 31 мая 2011

Возвращаемое местоположение является экземпляром класса LatLng.Вы можете вызвать lat (), чтобы получить широту, и lng (), чтобы получить долготу.например,

var latlng = results [0] .geometry.location;var lat = latlng.lat ();var lng = latlng.lng ();

Вот соответствующие документы:

http://code.google.com/apis/maps/documentation/javascript/reference.html#LatLng

0 голосов
/ 23 июня 2011

Вы можете сделать это внутри вызова геокода

  geocoder.geocode( { 'address': 'CA, US'}, function(results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
     location = results[0].geometry.location;
   alert(location)
    } 
  });

Это покажет широту и долготу адреса.

(лат, LNG)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...