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 街道坐标的主要内容,如果未能解决你的问题,请参考以下文章
Google Maps Roads API 返回重复的坐标和 placeIds
Google Maps API:获取当前位置 iOS 的坐标