如何从地理自动完成对象和google api V2获取lat / lng?

时间:2011-03-04 00:00:45

标签: autocomplete geocoding google-maps-api-2

我正在尝试使用jQuery,jquery.autocomplete_geomod和geo_autocomplete插件以及Google Maps API 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 个答案:

答案 0 :(得分:1)

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访问它。

答案 1 :(得分:1)

使用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;
}

})