如何使用place_id获取州和城市。我想使用place_id获取州和城市。 t
请参阅以下链接Google_map,我希望获得以下州和城市的地址" place_id" :" ChIJLfyY2E4UrjsRVq4AjI7zgRY",
答案 0 :(得分:2)
Google Place Details response包含address_components[] field
,它表示用于组成给定地址的单独地址组件数组,您可以从此属性中提取城市和州。
administrative_area_level_1
- 表示国家/地区以下的一级民事实体。在美国境内,这些 行政级别是国家。并非所有国家都展示这些 行政级别。locality
- 表示合并后的城市或城镇政治实体。
示例强>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10
});
var infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.getDetails({
placeId: 'ChIJLfyY2E4UrjsRVq4AjI7zgRY'
}, function (place, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
map.setCenter(place.geometry.location);
/*var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});*/
showPlaceDetails(map, place, infowindow);
}
});
}
function showPlaceDetails(map, place, infowindow) {
//parse address details
var info = '';
place.address_components.forEach(function (item) {
if (item.types.indexOf("administrative_area_level_1") > -1) {
info += '<div>State: ' + item.long_name + '</div>';
}
if (item.types.indexOf("locality") > -1) {
info += '<div>City: ' + item.long_name + '</div>';
}
});
infowindow.setContent(info);
infowindow.setPosition(place.geometry.location);
infowindow.open(map);
}
&#13;
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
&#13;
<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&callback=initMap" async defer></script>
&#13;