我想在我的應用程序中實現一個功能,在那裏我可以看到我的當前位置,如果位置不準確,我甚至可以選擇手動設置它。如何才能做到這一點?我應該使用Web服務還是什麼?如何以編程方式獲取/設置當前位置?
修訂
想我是不是我的問題很清楚。對不起。 我目前能夠獲得我的經驗。但有時候它不是很準確。在這種情況下,我應該能夠輸入我的地名(狀態),我想接受標準經緯度爲那個地方..我只是想知道如何實現它..
我想在我的應用程序中實現一個功能,在那裏我可以看到我的當前位置,如果位置不準確,我甚至可以選擇手動設置它。如何才能做到這一點?我應該使用Web服務還是什麼?如何以編程方式獲取/設置當前位置?
修訂
想我是不是我的問題很清楚。對不起。 我目前能夠獲得我的經驗。但有時候它不是很準確。在這種情況下,我應該能夠輸入我的地名(狀態),我想接受標準經緯度爲那個地方..我只是想知道如何實現它..
這裏有一點MockLocationProvider
I類已經爲我的目的而寫。它只是改變位置對象的經度和緯度並將其返回。
public class MockLocationProvider {
public static Location getMockLocation(double latitude, double longitude) {
Location location = new Location(LocationManager.GPS_PROVIDER);
location.setLatitude(latitude);
location.setLongitude(longitude);
return location;
}
}
但是,不能真正理解爲什麼你想在實際應用中使用它。我只是用來測試。無論如何,希望這有助於。
我知道這是一個老人,但說例如我實現這個代碼。如果我在手機上打開GPS,它是否會按照我上面設置的緯度和長度來檢測我的起點?如果沒有,你能否建議我可以研究什麼樣的課程/服務來完成這個任務。 – andre3wap 2016-07-11 13:25:01
@ andre3wap這裏是一個很好的開始:http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/ – 2016-07-15 08:20:51
您可能需要反向地理編碼(http://en.wikipedia.org/wiki/Reverse_geocoding)。有一些免費的服務。搜索「反向地理編碼」,你會發現一些免費的選項。我從來沒有使用過它們,所以我不能推薦任何。
謝謝...將搜索並看到... – 2012-02-14 08:40:14
你需要一個地理編碼器,一個將街道,城市名稱轉換爲緯度的api。和lng。值。
如果你已經有一個方法,使HTTP請求和解析JSON,你可以使用谷歌的網頁API: https://developers.google.com/maps/documentation/geocoding/intro?hl=de,它返回了良好的效果,是一種準確的。此外,它有更多的信息,而不僅僅是拉特和lng。
並且所有在一個靈魂將是谷歌地理編碼器對象是向後兼容,直到API級別1:https://developer.android.com/reference/android/location/Geocoder.html。這一個往往不會總是回報良好的結果,特別是對於較小的村莊,而不是那麼知名的地方。
詢問是否需要更多的幫助等。
朱利葉斯·
請添加更多的細節,你已經嘗試過你的問題是什麼。 – poitroae 2012-02-11 15:35:57
當你說「手動設置選項,如果位置不準確」,這是特定於你的應用程序還是整個手機?換句話說,如果您在堪薩斯州中部手動指定位置,Google地圖(以及任何其他位置感知應用程序)是否會在堪薩斯州中顯示您? – Mendhak 2012-02-11 15:39:03
[這裏](http://developer.android.com/guide/topics/location/index.html)是Android中定位服務的概述,您可能需要。 – 2012-02-11 15:41:14