我正在建立一个定位服务,用户可以在其中搜索某个区域的地点(例如医院、火车站等)。我想知道是否有一种方法可以确定用户查询的粒度,即用户是否在子地区、地区、州或整个国家/地区进行搜索。是否有任何 API 可以让我分解查询?
目前,我正在使用 google.maps.places.PlacesService 中的 textSearch api 从 google maps API 获取结果。这最多可以返回 60 个结果。然后,我获取结果的其中一个 place_id 并使用 getDetails API 获取有关该地点的详细信息。但这只会分解检索结果的地址组件。我想了解查询的细分。
let placesSearchBoxService = new google.maps.places.PlacesService(map);
placesSearchBoxService.textSearch(request, (res, status, pag) => {
// SEARCH UNSUCCESSFUL
if (status !== 'OK') {
return;
}
let detailRequest = { placeId: res[0].place_id };
placesSearchBoxService.getDetails(detailRequest, (place, status) => {
let { address_components: addressComponents } = place;
...
});
});