Как получить lat / lng из объекта гео-автозаполнения и Google API V2? - PullRequest
1 голос
/ 04 марта 2011

Я пытаюсь реализовать гео-автозаполнение с помощью плагинов jQuery, jquery.autocomplete_geomod и geo_autocomplete и API Карт Google V2.

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

Итак, мне нужно значение lat / long, возвращаемое автозаполнением, чтобы центрировать мою карту по этим координатам ... но мне не удалось это сделать!

Есть часть моего кода. Не стесняйтесь задавать мне вопросы.

$().ready(function() {

    var mygc = new google.maps.Geocoder();

    var loc = $('#location').geo_autocomplete(mygc, {
        mapkey: '<?$GOOGLE_KEY?>',
        ...
        geocoder_address: true

      }).result(function(_event, _data){
         //if(_data){
                    alert("test");
                    alert( "latitude : " + results[0].geometry.location.lat() );
          //}
                   //alert( "longitude : " + results[0].geometry.location.lng() );
        });

    });

С уважением,

Гийом из Франции

Ответы [ 2 ]

1 голос
/ 02 июля 2012

Расширьте ui.geo_autocomplete.js в строке 73 с помощью location: _result.geometry.location:

_parsed.push({
value: _place,
label: _result.formatted_address,
viewport: _result.geometry.viewport,
location: _result.geometry.location
 });

Вы можете получить доступ к этим переменным, например, с помощью метода alert () следующим образом:

$('#stadt').geo_autocomplete({
    geocoder_region: 'Germany',
    geocoder_types: "locality,political,sublocality,neighborhood",
    mapheight: 100, mapwidth: 200, maptype: 'hybrid',
     select: function(event, ui) {
    alert(ui.item.location);
    return false;
}

})
1 голос
/ 22 июня 2011

В ui.geo_autocomplete.js добавить переменную местоположения _location = _result.geometry.location к результатам _parsed.

Примерно так:

_parsed.push({
    value: _place,
    label: _result.formatted_address,
    viewport: _result.geometry.viewport,
    location: _location
});

Тогда вы можете получить к нему доступ _ui.item.geometry.location.

...