Google Maps API 街道坐标

Posted

技术标签:

【中文标题】Google Maps API 街道坐标【英文标题】:Google Maps API Street Coordinates 【发布时间】:2012-01-30 03:24:17 【问题描述】:

我正在制作一个安卓应用程序。是否可以检查用户(给定一些坐标)是否面向街道以及该街道是否在 10-20 英尺范围内?

如果没有,是否有我可以使用代码/坐标手动“遍历”以查看附近是否有“街道”的开源地图?我想为盲人制作一个导航系统,我需要一些方法来检查用户是否站在街道中间。

谢谢, 罗希特

【问题讨论】:

【参考方案1】:

您需要阅读 Google Maps Geocoding API:

http://code.google.com/apis/maps/documentation/geocoding/

如果您使用的是 android,则有一个特殊的 Geocoder 类会为您调用 Google 地图:

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);

(来源:Android: Reverse geocoding - getFromLocation)

要注意的是,这只会给出用户当前位置最可能的地址——你不能指定模糊因子或类似的东西。即使这样,10-20 英尺也应该足够接近以匹配。

如果这不能为您提供所需的数据,您可能还想查看OpenStreetMap,这是一个开放的地图数据库。我自己没有太多经验,但这里有文档:http://wiki.openstreetmap.org/wiki/Main_Page

【讨论】:

有没有办法获得与街道路径相对应的坐标数组?所以我可以将它们与当前位置进行比较? 您可以将单个地址转换为纬度/经度对(“反向地理编码”),但 Google API 不允许您对整条街道执行此操作。

以上是关于Google Maps API 街道坐标的主要内容,如果未能解决你的问题,请参考以下文章

在android中获取最近的街道/道路坐标

Google Maps API - 坐标地址(纬度,经度)

Google Maps Roads API 返回重复的坐标和 placeIds

Google Maps API:获取当前位置 iOS 的坐标

如何使用带有 Google Maps Roads API 的坐标列表计算距离

我可以使用 Google Maps API 查看坐标 A 是不是在坐标 B 的 50 米范围内?