谷歌反向地理编码返回zero_results

时间:2018-01-29 16:10:55

标签: android google-geocoding-api

我有一个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发生了什么,一切都运转良好。

任何帮助解决这个问题都将受到赞赏。

由于

3 个答案:

答案 0 :(得分:2)

这是因为谷歌不支持有争议的地区(如金门县,西岸,克里米亚等)。 ZERO_RESULTS 是预期的行为。

您可以在https://issuetracker.google.com/issues/35826813

的谷歌公共问题跟踪器中看到问题

答案 1 :(得分:1)

我只是想在2014年1月29日添加它,我也开始体验API的随机结果。我的代码一年来一直在努力工作。现在我可以发送一个定义明确的位置的请求(不是反向的;我从地址或交叉点开始搜索坐标和地缘政治信息),但我没有得到任何结果。我可以再发一次 - 没有结果。我可以再次发送 - 我获得结果!相同的查询,具有不同的响应。我认为是

的根本原因

答案 2 :(得分:1)

坏消息,您的意思是DMZ。如上所述:Google反向地理编码在1949年的停战线附近(而不是在1949-1967年的约旦领土上)行不通。

Like in this Google Maps screenshot

一个不太坏的消息:对于某些人来说,可能存在某种可行的解决方法: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>

有些人可能会觉得可以容忍。对于其他人来说,这意味着将某人送到错误的地方。