当我尝试根据地址获取lat / lng位置时,JSON返回给出错误的坐标 .
JSON:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Boa Vista",
"short_name" : "Boa Vista",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Boa Vista",
"short_name" : "Boa Vista",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Roraima",
"short_name" : "RR",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Brasil",
"short_name" : "BR",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Boa Vista, Boa Vista - RR, Brasil",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 2.8686558,
"lng" : -60.6236814
},
"southwest" : {
"lat" : 2.7457422,
"lng" : -60.7694416
}
},
"location" : {
"lat" : 2.8235098,
"lng" : -60.6758331
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 2.8686558,
"lng" : -60.6236814
},
"southwest" : {
"lat" : 2.7457422,
"lng" : -60.7694416
}
}
},
"partial_match" : true,
"place_id" : "ChIJ26Sqy8oFk40RRV_XqcdlLrc",
"types" : [ "locality", "political" ]
}
],
"status" : "OK"
}
如果我在Google Map 上设置地址为“Av.Major Williams,1132 Boa Vista RR Brasil”,则位置正确:lat 2.8291068,lng -60.6711494
1 回答
您的搜索未使用地理编码导致街道地址匹配 . 你的JSON表明它找到了一个最小的东西 .
Google Map 的搜索方式与地理编码不同 .
https://developers.google.com/maps/documentation/geocoding/intro