如何使用place_id获取州和城市。我想使用place_id获取州和城市。t
请参阅以下链接Google_map,我想获得以下place_id的州和城市"place_id": "ChIJLfyY2E4UrjsRVq4AjI7zgRY",
Google Place Details响应包含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);
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&callback=initMap" async defer></script>