我正在使用google.maps.places.AutocompleteService();获取查询预测。是否可以从用户位置的预测列表中省略国家/地区名称。为了eaxmple。如果我在美国,当我寻找sanfransisco。它不应该在预测列表中显示美国(国家名称)。但如果我在印度寻找位置德里,它应该显示'德里印度'(国名)。
这是否可以使用此服务或任何其他谷歌API服务。
请注意,我需要建议列表,而不是与文本字段绑定的内容。 非常感谢您的帮助。
答案 0 :(得分:1)
如果不手动处理结果,则无法进行此操作。因此,在收到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