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
我正在使用 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