我使用谷歌地图API编写了一个C#程序,发现对于某些Lat& 位置较长,API无法找到地址(当google earth能够访问时) 找到它...)。 下面是一个演示它的代码:
============================
...
using Google.Api.Maps.Service.Geocoding;
...
var request = new GeocodingRequest();
request.Sensor = "false";
request.Language = "iw";
request.LatitudeLongitude = "33.00166,35.60089";
var response = GeocodingService.GetResponse(request);
然后: response.Status是:ServiceResponseStatus.Ok
但是使用与以下位置相同的代码:
request.LatitudeLongitude = "33.14640,35.72904";
response.Status became: ServiceResponseStatus.ZeroResults
然而,谷歌地球找到这个位置的地址,所以为什么谷歌 map API无法找到它?
请指教, 很多tnkx, 戈兰
答案 0 :(得分:0)
您有ServiceResponseStatus.ZeroResults
响应,因为您在争议区域尝试了反向地理编码(33.14640,35.72904)。
https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D33.1464%252C35.72904
不幸的是,谷歌地图反向地理编码在争议地区无效。这是一个已知问题,已在Google问题跟踪器中报告为issue 35826813。看起来Google正在解决此问题,因为问题的状态为已接受。目前Google Maps API尚无解决方法。
我可以建议主张此问题以表达您的兴趣并接收来自Google的进一步更新。
好消息。截至2019年1月,谷歌在有争议的地区解决了ZERO_RESULTS的问题。
您可以看到现在它们返回结果,但国家/地区名称未显示在回复中。这与他们在前向地理编码器中的方法一致。争议地区没有国名。