如何在 Google 地图中按城市搜索?

How to search by city in Google Maps?

我正在开发一个 Google 地图网络应用程序,我正在使用 Google 地图自动完成功能来选择地点并将地址保存在数据库中。现在我正在使用 https://maps.googleapis.com/maps/api/geocode/json?latlng=42.072845,19.516300

获取完整格式的地址

如您所见,那里的城市名称是"Shkodër",但也可以搜索为"Shkoder"。

所以在数据库中我可能会保存 "Rruga Besnik Sykja, Shkodër, Albania" 或 "Rruga Besnik Sykja, Shkoder, Albania"。

1)

2)

我也在使用 Google 地图自动完成表单来搜索位置,我希望能够从自动完成字段中 select 城市,然后显示我保存在数据库中的所有位置包含该城市名称。

我的问题出在这里:如果我在数据库中收到城市名称并将其保存为 "Shkodër" 但在搜索表单中用户选择 "Shkoder" 怎么办?它们不匹配,用户可能无法从我的数据库中获得正确的结果。

有没有可靠的方法来搜索城市的所有标记,即使城市名称可能会更改,使用一些通用的城市 ID 或其他东西?

到目前为止我还没有找到任何有用的东西...

您可以使用 Place IDhttps://developers.google.com/places/place-id

A place ID is a textual identifier that uniquely identifies a place. It looks like this:

ChIJrTLr-GyuEmsRBfy61i59si0

Place IDs are available for most locations, including businesses, landmarks, parks, and intersections. These IDs are stable, meaning that once you've identified the place ID for a place, you can reuse that value when you next look up that place.

You can use the same place ID across the Places API and a number of Google Maps APIs. For example, you can use the same place ID to reference a place in the Google Places API, the Google Maps JavaScript API, the Google Maps Geocoding API, the Google Maps Embed API and the Google Maps Roads API

您可以使用 google map api v3 的 componentRestrictions 进行自动完成

这里是参考link

https://developers.google.com/maps/documentation/javascript/places-autocomplete