2011-12-29 201 views
2

我正在製作一個android應用程序。是否有可能檢查用戶(給定座標)是否正面臨街道,並且如果該街道在10-20英尺之外?Google Maps API街道座標

如果沒有,是否有一個開源的地圖,我可以「手動」通過手動使用代碼/座標來查看是否有附近的「街道」?我想爲盲人制作一個導航系統,我需要一些方法來檢查用戶是否站在街道中央。

感謝, 羅希特

回答

1

你想在谷歌地圖API地理編碼閱讀起來:

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

如果您使用的是Android,還有一個特殊的Geocoder類,將調用谷歌地圖爲您提供:

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

+0

有沒有辦法獲得對應於街道路徑的座標數組?所以我可以將它們與當前位置進行比較? – rkrishnan2012 2011-12-29 20:45:54

+0

您可以將單個地址轉換爲緯度/長度對(「反向地理編碼」),但Google API不會讓您在整條街道上執行此操作。 – 2011-12-29 20:55:42