我们很长一段时间以来一直在使用这个API。我们可以看到从英国和英国退回的地址。因此将地理编码URL更改为仅限于英国。
http://maps.googleapis.com/maps/api/geocode/xml?latLng=54,-2&address=gdfgsdgsd,GB
http://maps.googleapis.com/maps/api/geocode/xml?latLng=54,-2&address=gdfgsdgsd,GB的&安培;组分=国家:GB
请检查上述两个网址的结果。 第一个URL返回ZERO_RESULTS,这是正确的。 无论我们使用什么搜索词,第二个总是从英国中心返回一个纬度。
您也可以尝试替换'地址'复制问题: 452376452334,^ $%^ $%^ $%,458352462354 ^ $%^ $%^
答案 0 :(得分:2)
根据Google地理编码API关于Component Filtering
包含组件过滤器的查询仅返回地理编码 与过滤器匹配的结果。如果未找到匹配项,则为地理编码器 将返回与过滤器本身匹配的结果。
请求:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Texas",
"short_name" : "TX",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Texas, USA",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 36.5007041,
"lng" : -93.5080389
},
"southwest" : {
"lat" : 25.8371638,
"lng" : -106.6456461
}
},
"location" : {
"lat" : 31.9685988,
"lng" : -99.9018131
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 36.5015087,
"lng" : -93.5080389
},
"southwest" : {
"lat" : 25.8371638,
"lng" : -106.6456461
}
}
},
"partial_match" : true,
"place_id" : "ChIJSTKCCzZwQIYRPN4IGI8c6xY",
"types" : [ "administrative_area_level_1", "political" ]
}
],
"status" : "OK"
}
仅当您提供相互排斥的过滤器时,组件过滤才会返回ZERO_RESULTS响应。
请求:
{
"results" : [],
"status" : "ZERO_RESULTS"
}
答案 1 :(得分:1)
看起来我找到了解决此问题的方法。 我现在使用的URL模式是: http://maps.googleapis.com/maps/api/geocode/xml?address=Leeds,UK|GB
以下网址现在提供ZERO_RESULTs http://maps.googleapis.com/maps/api/geocode/xml?address=gdfgsdgsd,UK|GB
正如Joyson建议的那样,我们也可以检查返回的国家&显示错误消息。