我使用谷歌地图的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
}
});