为什么 Google 对某些 GPS 坐标进行反向地理编码 return ZERO_RESULTS?
Why does Google Reverse Geocoding return ZERO_RESULTS on some GPS coordinates?
我正在使用反向地理编码服务,我得到 "ZERO_RESULTS"。
在我的 PHP 脚本中,我创建了以下函数:
public static function getJsonData($lat, $lng, $apikey) {
$url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=".$lat.",".$lng."&language=en-EN&key=". $apikey;
$json = file_get_contents($url, FALSE, self::_createContext());
return $json;
}
这是我没有得到任何结果的一些 GPS 坐标的列表:
我也尝试在此页面上提交坐标:https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse,但我收到以下警报错误:
地理编码器因以下原因失败:ZERO_RESULTS。
如果我尝试在 Google 地图上搜索相同的坐标,它会起作用,它会在地图上找到相关的地点,没有任何问题:
那么,为什么反向地理编码失败了?
编辑:
我使用与 MapQuest 反向地理编码相同的坐标 API 并且它有效。我得到以下国家:
- 巴勒斯坦
- 印度
- 摩洛哥
- 以色列
- 塞浦路斯
为什么 MapQuest API 与有争议的地区合作?
查看 Google 地图中的塞浦路斯,他们似乎没有该地区的数据,因此缺乏回应。
如果您需要此区域,我会考虑其他 rgeo 服务。或许可以看看 Skyhook、百度或 Mapquest。
在地理编码器工具中查看示例中的第一个坐标:
https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D31.71255%252C35.22438
31.71255,35.22438位于西岸地区。西岸是有争议的地区,这是 Google 反向地理编码器的已知问题。争议地区所有坐标 return ZERO_RESULTS.
public 问题跟踪器中存在一个错误:
https://issuetracker.google.com/issues/35826813
随时为错误加注星标以添加您的投票,希望 Google 能尽快解决它。
- 示例 2 - 查谟和克什米尔
- 示例 3 - 西撒哈拉
- 示例 4 - 西岸
- 示例 5 - 北塞浦路斯
所有这些领土都是有争议的地区:
https://en.wikipedia.org/wiki/List_of_territorial_disputes
更新
好消息。截至 2019 年 1 月,Google 解决了争议地区的 ZERO_RESULTS 问题。
您可以看到现在他们 return 结果,但国家/地区名称未出现在回复中。这与他们在前向地理编码器中采用的方法一致。争议地区没有国名。
我正在使用反向地理编码服务,我得到 "ZERO_RESULTS"。 在我的 PHP 脚本中,我创建了以下函数:
public static function getJsonData($lat, $lng, $apikey) {
$url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=".$lat.",".$lng."&language=en-EN&key=". $apikey;
$json = file_get_contents($url, FALSE, self::_createContext());
return $json;
}
这是我没有得到任何结果的一些 GPS 坐标的列表:
我也尝试在此页面上提交坐标:https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse,但我收到以下警报错误:
地理编码器因以下原因失败:ZERO_RESULTS。
如果我尝试在 Google 地图上搜索相同的坐标,它会起作用,它会在地图上找到相关的地点,没有任何问题:
那么,为什么反向地理编码失败了?
编辑:
我使用与 MapQuest 反向地理编码相同的坐标 API 并且它有效。我得到以下国家:
- 巴勒斯坦
- 印度
- 摩洛哥
- 以色列
- 塞浦路斯
为什么 MapQuest API 与有争议的地区合作?
查看 Google 地图中的塞浦路斯,他们似乎没有该地区的数据,因此缺乏回应。
如果您需要此区域,我会考虑其他 rgeo 服务。或许可以看看 Skyhook、百度或 Mapquest。
在地理编码器工具中查看示例中的第一个坐标:
https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D31.71255%252C35.22438
31.71255,35.22438位于西岸地区。西岸是有争议的地区,这是 Google 反向地理编码器的已知问题。争议地区所有坐标 return ZERO_RESULTS.
public 问题跟踪器中存在一个错误:
https://issuetracker.google.com/issues/35826813
随时为错误加注星标以添加您的投票,希望 Google 能尽快解决它。
- 示例 2 - 查谟和克什米尔
- 示例 3 - 西撒哈拉
- 示例 4 - 西岸
- 示例 5 - 北塞浦路斯
所有这些领土都是有争议的地区:
https://en.wikipedia.org/wiki/List_of_territorial_disputes
更新
好消息。截至 2019 年 1 月,Google 解决了争议地区的 ZERO_RESULTS 问题。
您可以看到现在他们 return 结果,但国家/地区名称未出现在回复中。这与他们在前向地理编码器中采用的方法一致。争议地区没有国名。