2013-02-11 79 views

回答

1

我的gps位置是否是我的確切位置?

這可能會有所不同,這取決於您實際所處的位置。通常GPS信號的誤差在5到50米之間。這可以通過手機塔和其他網絡結構來減少。有一個清晰,通暢的天空視圖也有助於獲得一個準確的信號。

如果有的話,任何人都可以提供一些資源將緯度經度 的位置轉換爲城市或地點。

您可以嘗試使用谷歌的Geocoding API或其他Nominatim這是一個開源的對應項。

0

Geocoder對象,你可以調用getFromLocation

public List<Address> getFromLocation (double latitude, double longitude, int maxResults) 

這將返回有一個方法Address對象的列表getLocality

Geocoder gcd = new Geocoder(context, Locale.getDefault()); 
List<Address> addresses = gcd.getFromLocation(lat, lng, 1); 
if (addresses.size() > 0) 
    System.out.println(addresses.get(0).getLocality()); 
+0

出現上下文錯誤。我必須將其定義爲變量或其他內容嗎? – 2013-02-11 07:55:32

+0

您的上下文是'YourActivity.this' – jlopez 2013-02-11 07:57:35

+0

其顯示錯誤未處理IOException .. – 2013-02-11 08:39:30

0

試試這個

Geocoder gCoder = new Geocoder(myContext); 
ArrayList<Address> addresses = gCoder.getFromLocation(123456789, 123456789, 1); 
if (addresses != null && addresses.size() > 0) { 
Toast.makeToast(myContext, "country: " + adresses.get(0).getCountryName(), Toast.LENGTH_LONG).show(); 
} 
+0

其顯示上下文無法解析到一個類型 – 2013-02-11 07:30:19

+0

我沒有問題,相同的代碼。我使用MyContext的活動背景作爲Myactivity.this及其工作 – 2013-02-11 07:35:50