我有一个Android应用程序从设备获取lat& long并使用googles反向地理编码api返回一个地址。一切都工作正常一段时间,但现在我突然得到零_结果/
我在浏览器中复制它的请求是: https://maps.googleapis.com/maps/api/geocode/json?latlng=31.783783783783782,35.22879215957073&key=MY_KEY
但如果我将其更改为: https://maps.googleapis.com/maps/api/geocode/json?latlng=31.78,35.22&key=MY_KEY
这只是将lat& lng缩短为2位小数,但是如果我把它舍入到2位小数: https://maps.googleapis.com/maps/api/geocode/json?latlng=31.78,35.23&key=MY_KEY
它不起作用!!!
我不能把它弄圆,但现在我担心在另一种情况下它不会工作,我不知道API发生了什么,一切都运转良好。
任何帮助解决这个问题都将受到赞赏。
由于
答案 0 :(得分:2)
这是因为谷歌不支持有争议的地区(如金门县,西岸,克里米亚等)。 ZERO_RESULTS 是预期的行为。
的谷歌公共问题跟踪器中看到问题答案 1 :(得分:1)
我只是想在2014年1月29日添加它,我也开始体验API的随机结果。我的代码一年来一直在努力工作。现在我可以发送一个定义明确的位置的请求(不是反向的;我从地址或交叉点开始搜索坐标和地缘政治信息),但我没有得到任何结果。我可以再发一次 - 没有结果。我可以再次发送 - 我获得结果!相同的查询,具有不同的响应。我认为是
的根本原因答案 2 :(得分:1)
坏消息,您的意思是DMZ。如上所述:Google反向地理编码在1949年的停战线附近(而不是在1949-1967年的约旦领土上)行不通。
一个不太坏的消息:对于某些人来说,可能存在某种可行的解决方法:OpenStreetMap也可以提供反向地理位置。您的坐标:
https://nominatim.openstreetmap.org/reverse?&format=jsonv2&lat=31.750832&lon=35.207042
收益
{
"place_id": "198977340",
"licence": "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
"osm_type": "relation",
"osm_id": "5862586",
"lat": "31.7782568",
"lon": "35.2315827592487",
"place_rank": "30",
"category": "historic",
"type": "citywalls",
"importance": "0.427235305540595",
"addresstype": "historic",
"name": "Old\nCity",
"display_name": "Old City, Aqabat El Saraya, Christian Quarter, Old City, Jerusalem, Jerusalem District, NO",
"address": {
"address29": "Old City",
"pedestrian": "Aqabat El Saraya",
"suburb": "Old City",
"city": "Jerusalem",
"state": "Jerusalem District",
"postcode": "NO",
"country_code": "il"
},
"boundingbox": [
"31.7728081",
"31.7837416",
"35.2257013",
"35.2375582"
]
}
如您所见,它们可能相距数百米。我必须搜索“ Aquabat El Saraya ”是什么,才发现它是“圣墓教堂”……当您的座标在旧城区之外时(请参见上面的地图)。 / p>
有些人可能会觉得可以容忍。对于其他人来说,这意味着将某人送到错误的地方。