谷歌地图反向地理代码没有返回正确/准确的地址
Google Maps reverse geocode doesn't return correct/accurate address
所以我有这个特定的地址:Rijtakker 22, Meijel, Netherlands这只是谷歌地图知道的一个普通地址,如www.google.nl/maps/place/Rijtakker+22,+5768+Meijel/@51.3482599,5.8857767,17z/data=!3m1!4b1!4m5!3m4!1s0x47c7379f181928e7:0x2a2900b2927e2ebc!8m2!3d51.3482566!4d5.8879654?hl=nl
所示。
在我的一个(ASP.NET)应用程序中,我做了一个web用户控件,用户在一个类似谷歌地图的字段中输入地址,它的功能是建议,自动完成,等等。所有这些都非常标准,并且基于默认的Google Maps API行为/文档代码示例,如下图所示。当用户选择一个地址时,一个或多个Marker对象将出现在地图上。如果只有一个标记适用,则该标记的位置(lat, lng)被写入隐藏字段,如果多个标记适用,则被单击的标记的位置(lat, lng)被写入同一隐藏字段。在PostBack上,对反向地理编码URL进行WebRequest以检索所有地址信息。再一次,都很标准。对于上述地址,XML中返回的lat和lng值分别为51.3482464和5.8879746999999725
第一个奇怪的事情是,当我使用地理编码URL将地址转换为纬度和经度时,我得到的结果与Google Maps用户控件中的标记不同。链接maps.googleapis.com/maps/api/geocode/xml?address=Rijtakker%2022,%20Meijel,%20Netherlands
返回
<location>
<lat>51.3482464</lat>
<lng>5.8879747</lng>
</location>
无论如何,当对经度和纬度值进行反向地理编码时,返回一个地址范围,或者在Google API术语中返回一个路由,而不是一个特定的street_address: Rijtakker 2- 40,5768 Meijel, Netherlands。而不是实际的正确地址。我是否使用反向地理编码URL (maps.googleapis.com/maps/api/geocode/xml?latlng=51.3482464,5.8879746999999725
或maps.googleapis.com/maps/api/geocode/xml?latlng=51.3482464,5.8879747
)或我使用谷歌地图API文档中的地图示例(developers.google.com/maps/documentation/javascript/examples/geocoding-reverse
)
我做错了什么?在(反向)地理编码过程中是否存在一些限制,其中不是每个地址都可以准确转换?
这是RANGE_INTERPOLATED
参见result的geometry.location.type
,参见Developer's Guide了解其值的含义。简而言之,谷歌地图没有Rijtakker, Meijel中的建筑/房屋22,但它确实有一个地址范围(2-40),并且能够插入22通常在哪里。
对Rijtakker 2, Meijel和Rijtakker 40, Meijel进行地理编码,结果在街道的起点和终点。
相比之下,51.348165,5.887406返回的是ROOFTOP
的结果。
您也可以从反向地理编码中获得RANGE_INTERPOLATED
结果,使用精确的地址而不是地址范围,如果您的latlng更接近地址范围而不是实际建筑,则该精确地址可能地理编码为RANGE_INTERPOLATED
或ROOFTOP
结果。
示例:51.347234,5.886687返回"Startebosweg 4,5768 Meijel",然后将其地理编码为ROOFTOP
结果,并将其位置51.348299,5.886218地理编码为相同的ROOFTOP
结果。这一段的两个latlgs之间的差距可能是由于basemap数据中的一个小故障。
- 如何从ipify函数返回ip地址,以便在其他函数中使用
- 英国邮政编码谷歌API不返回街道地址
- 从 jquery 地址选择器返回街道名称
- 谷歌地理编码器返回错误的地址坐标
- Javascript 和 HTML - 在 html 代码中返回 url 地址
- 地理编码器 API 仅返回街道地址
- jquery ajax 返回地址栏中的查询字符串
- 传单地理搜索:从找到的地址返回纬度/液化天然气事件
- 地址地理编码返回无效的结果使用谷歌地理编码
- 谷歌地图地理编码不返回一个有效的完整地址的迟/长
- Expressjs服务器地址host不返回任何东西
- Facebook javascript sdk不返回电子邮件地址
- Passport.js:用Github登录并返回电子邮件地址
- Google Maps Api v3的地理代码地址,如何返回对象
- 使用JavaScript或PHP从地址返回经度和纬度的基本API
- 如何根据JavaScript函数的返回值确定转发地址
- 谷歌地图反向地理代码没有返回正确/准确的地址
- JavaScript,使用Google Maps API返回用户的地址
- Google Geocoder为几个不同的地址返回同一组lat/lng.Lat/Lng是城市或乡镇的坐标,而不是地址
- 返回图像或错误的地址(如果不存在)