Google 自动完成地点,从预测中省略用户位置的国家/地区名称

Google auto complete places, Omit country name of users location from predictions

我正在使用 google.maps.places.AutocompleteService();获得查询预测。是否可以从用户位置的预测列表中省略国家名称。例如。如果我在美国,当我搜索 sanfransisco 时。它不应在预测列表中显示美国(国家/地区名称)。但是,如果我在印度搜索 location- delhi,它应该显示 'Delhi India'(国家/地区名称)。

是否可以使用此服务或任何其他 google api 服务。

请注意,我需要的是建议列表,而不是与文本字段相关的内容。 非常感谢您的帮助。

如果不手动处理结果,这是不可能的。因此,在收到 json 数据作为响应后,您需要检查建议的国家/地区是否与用户的国家/地区相同,如果是,则不要在文本字段中显示它。

JSON 响应如下所示:在值字段中,您可以检查国家/地区并通过将其与需要在应用中某处设置的用户国家/地区进行比较来决定是否显示它。

我相信 JSON 响应将保存在 List<HashMap<String, String>> 中,因此您可以遍历它并省略国家/地区。

{
  "status": "OK",
  "predictions" : [
      {
         "description" : "Paris, France",
         "id" : "691b237b0322f28988f3ce03e321ff72a12167fd",
         "matched_substrings" : [
            {
               "length" : 5,
               "offset" : 0
            }
         ],
         "place_id" : "ChIJD7fiBh9u5kcRYJSMaMOCCwQ",
         "reference" : "CjQlAAAA_KB6EEceSTfkteSSF6U0pvumHCoLUboRcDlAH05N1pZJLmOQbYmboEi0SwXBSoI2EhAhj249tFDCVh4R-PXZkPK8GhTBmp_6_lWljaf1joVs1SH2ttB_tw",
         "terms" : [
            {
               "offset" : 0,
               "value" : "Paris"
            },
            {
               "offset" : 7,
               "value" : "France"
            }
         ],
         "types" : [ "locality", "political", "geocode" ]
      },
      {
         "description" : "Paris Avenue, Earlwood, New South Wales, Australia",
         "id" : "359a75f8beff14b1c94f3d42c2aabfac2afbabad",
         "matched_substrings" : [
            {
               "length" : 5,
               "offset" : 0
            }
         ],
         "place_id" : "ChIJrU3KAHG6EmsR5Uwfrk7azrI",
         "reference" : "CkQ2AAAARbzLE-tsSQPgwv8JKBaVtbjY48kInQo9tny0k07FOYb3Z_z_yDTFhQB_Ehpu-IKhvj8Msdb1rJlX7xMr9kfOVRIQVuL4tOtx9L7U8pC0Zx5bLBoUTFbw9R2lTn_EuBayhDvugt8T0Oo",
         "terms" : [
            {
               "offset" : 0,
               "value" : "Paris Avenue"
            },
            {
               "offset" : 14,
               "value" : "Earlwood"
            },
            {
               "offset" : 24,
               "value" : "New South Wales"
            },
            {
               "offset" : 41,
               "value" : "Australia"
            }
         ],

...

参考:https://developers.google.com/places/webservice/autocomplete#location_biasing