如何将 Google 地理编码查询限制到多个国家?
How do I restrict a Google Geocode query to multiple countries?
我正在尝试向 Google 地图地理编码 API 发送用户查询,并将其限制为我的服务将在其中运营的国家/地区。如果我只想要来自英国的结果,那么以下查询在搜索 quay
:
时有效
https://maps.googleapis.com/maps/api/place/autocomplete/json?key=$apiKey&input=quay&language=en-gb&location=0,0&radius=50000&components=country:uk
如果我想将结果限制为仅法国,则可以使用以下方法:
https://maps.googleapis.com/maps/api/place/autocomplete/json?key=$apiKey&input=quay&language=en-gb&location=0,0&radius=50000&components=country:uk
根据 https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering A filter consists of a list of component:value pairs separated by a pipe (|).
因此,为了同时搜索英国和法国,我认为以下方法可行:
https://maps.googleapis.com/maps/api/place/autocomplete/json?key=$apiKey&input=quay&language=en-gb&location=0,0&radius=50000&components=country:uk|fr
但事实并非如此,而是 return 如下:
{
"predictions": [],
"status": "INVALID_REQUEST"
}
我还尝试将 URL 末尾的组件部分更改为 components=country:uk|country:fr
。这似乎有效,但它所做的只是搜索 URL.
上的最后一个 country:value
据我所知,我的选择是:
- 分别搜索英国和法国,然后合并结果。这将需要两倍的通话次数,并且会随着每个国家/地区的增加而增加。我还需要确定如何对结果进行加权。
- 取消组件限制,以便我获得来自世界各地的所有结果,并自行过滤英国和法国的答案。地理编码 API return 的结果很有可能不会显示任何结果。
如何才能一次调用 return 结果仅限于英国和法国?这可能吗?
这在 1 个调用中目前是不可能的,参见 https://code.google.com/p/gmaps-api-issues/issues/detail?id=4233
我正在尝试向 Google 地图地理编码 API 发送用户查询,并将其限制为我的服务将在其中运营的国家/地区。如果我只想要来自英国的结果,那么以下查询在搜索 quay
:
https://maps.googleapis.com/maps/api/place/autocomplete/json?key=$apiKey&input=quay&language=en-gb&location=0,0&radius=50000&components=country:uk
如果我想将结果限制为仅法国,则可以使用以下方法:
https://maps.googleapis.com/maps/api/place/autocomplete/json?key=$apiKey&input=quay&language=en-gb&location=0,0&radius=50000&components=country:uk
根据 https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering A filter consists of a list of component:value pairs separated by a pipe (|).
因此,为了同时搜索英国和法国,我认为以下方法可行:
https://maps.googleapis.com/maps/api/place/autocomplete/json?key=$apiKey&input=quay&language=en-gb&location=0,0&radius=50000&components=country:uk|fr
但事实并非如此,而是 return 如下:
{
"predictions": [],
"status": "INVALID_REQUEST"
}
我还尝试将 URL 末尾的组件部分更改为 components=country:uk|country:fr
。这似乎有效,但它所做的只是搜索 URL.
country:value
据我所知,我的选择是:
- 分别搜索英国和法国,然后合并结果。这将需要两倍的通话次数,并且会随着每个国家/地区的增加而增加。我还需要确定如何对结果进行加权。
- 取消组件限制,以便我获得来自世界各地的所有结果,并自行过滤英国和法国的答案。地理编码 API return 的结果很有可能不会显示任何结果。
如何才能一次调用 return 结果仅限于英国和法国?这可能吗?
这在 1 个调用中目前是不可能的,参见 https://code.google.com/p/gmaps-api-issues/issues/detail?id=4233