如何将 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

据我所知,我的选择是:

如何才能一次调用 return 结果仅限于英国和法国?这可能吗?

这在 1 个调用中目前是不可能的,参见 https://code.google.com/p/gmaps-api-issues/issues/detail?id=4233