从地理编码中获取地址,如自动完成谷歌地图



我使用谷歌地图的AutoComplete

当我从列表中选择位置时,我从autoComplete.getPlace()函数中得到位置,有一个名为adr_address的变量,它的值如下所示:

"<span class="street-address">xxx</span>, <span class="locality">xxx</span>, <span class="country-name">xxx</span>"

我的问题是,当我自己写地址而不从列表中选择时,那么我在getPlace函数中没有adr_address变量,如果状态OK,我用Geocoder检查地址,我想得到与adr_address中相同的结果。

我该怎么做?

我找到了一种通过place_id和PlacesService从Geocoder获取地址的方法。

new google.maps.Geocoder().geocode({"address":text }, function(results, status){
if (status == google.maps.GeocoderStatus.OK) {
var service = new google.maps.places.PlacesService(document.createElement('div'));
service.getDetails({
placeId: results[0].place_id
}, function(place, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
doSomething(place.adr_address);
}
});
}
else {
//geocode fail
}
});

最新更新