我正在制作一个Android应用程序。是否可以检查用户(给定一些坐标)是否面向街道,以及该街道是否在10-20英尺以外?
如果没有,是否有一个开源地图,我可以通过手动使用代码/坐标来“看”是否有附近的“街道”?我想为盲人制作一个导航系统,我需要一些方法来检查用户是否站在街道的中间。
谢谢, 罗希特夏尔
答案 0 :(得分: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