谷歌 提醒我们 关于PlaceID的更改,并建议;
由于Google Maps数据库的大规模更新,Place IDs可能会发生变化。在这种情况下,一个地点可能会获得一个新的Place ID,而旧的ID则会返回NOT_FOUND响应。
您可以通过仅在fields参数中指定ID字段来免费刷新Place IDs ,进行Place Details请求。
不幸的是,在他们的网站上没有Java / Kotlin的示例代码,除了一个指向他们的Web服务
String placeID ="Some place ID";
List<Place.Field> placeFields = Arrays.asList(
Place.Field.ID,
);
// Construct a request object, passing the place ID and fields array.
FetchPlaceRequest request = FetchPlaceRequest.builder(placeID, placeFields).build();
placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
Place place = response.getPlace();
if (!placeID.equals(place.getId())) {
//update your old placeID
}
}).addOnFailureListener((exception) -> {
if (exception instanceof ApiException) {
//Place removed.
}
});
这是使用Java更新placeIDs的正确方法吗?