我正在構建一個應用程序,該應用程序使用lat long向Toast顯示當前地址。我使用地理編碼器將緯度轉換爲地址,但情況是,在某些設備上地址工作正常,但在某些設備中它的崩潰。然後,我調試那些崩潰的設備上的應用程序,我發現在地理編碼器行之後,它跳轉到捕獲(Exception),而不執行其他行。 那麼,有沒有其他方式可以通過lat獲得位置。如何從lat中獲取地址,而不是使用地理編碼器
還有另外一個問題有同樣的問題here,但是這並沒有給出太多的解決方案,所以我再次問它。
我的地理編碼塊
if (mLastLocation != null) {
double latitude = mLastLocation.getLatitude();
double longitude = mLastLocation.getLongitude();
try {
geocoder = new Geocoder(this, Locale.getDefault());
addresses = geocoder.getFromLocation(latitude,longitude,1);
if (addresses != null && addresses.size() > 0){
String address = addresses.get(0).getAddressLine(0);
String city = addresses.get(0).getLocality();
String state = addresses.get(0).getAdminArea();
String country = addresses.get(0).getCountryName();
String postalCode = addresses.get(0).getPostalCode();
Toast.makeText(getApplicationContext(), "Your address is: " +address+ " "+city+ " " + state+ "\n" +country+ " "+ postalCode, Toast.LENGTH_LONG).show();
}
}catch (Exception e){
e.printStackTrace();
}
請參閱此鏈接https://stackoverflow.com/questions/45004239/is-there-any-way-to-get-city-name-for-google-place-picker-android/45004308?noredirect=1#評論76989519_45004308 –
謝謝@NancyY,但我認爲你使用了相同的代碼,但是我會試一試。 – Neck
在那個鏈接中,我還添加了一個備用解決方案,您可以嘗試 –