0
小さいlibraryを使用して、場所の逆ジオコーディングを行っています。 私の問題は、私のUIの場所名です(逆のジオコーディングを「Aberdeen、United Kingdom」などの地名に使用して設定したTextView)は、ブルガリア語のような電話のデフォルト言語と同じ言語です電話言語はブルガリア語です)、私のアプリの他のものはすべて英語です。だから、私はロケーション名を取得するために使用しています以下の方法にLocale.ENGLISH(または同様のもの)を設定する方法方法を探しています:ReverseGeocoding ENロケールのアドレス名のみ
Observable<List<Address>> reverseGeocodeObservable;
String locationName = "";
....
public void getLocationName(){
reverseGeocodeObservable
.subscribeOn(Schedulers.io())// use I/O thread to query for addresses
.observeOn(AndroidSchedulers.mainThread())// return result in main android thread to manipulate UI
.subscribe(new Subscriber<List<Address>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Log.d(TAG,"OnError Geocode");
locationName = sharedPref.getString(getString(R.string.location_name_on_error),"unknown");
}
@Override
public void onNext(List<Address> addresses) {
if(addresses.size() > 0) {
Address address = addresses.get(0);
Log.v(MainActivity.class.getSimpleName(),"Locality: "+address.getLocality() + ", CountryName " + address.getCountryName());
//check if cityName is null...
String cityName = "unknown";
if(address.getLocality() != null) {
cityName = address.getLocality();
//if it is, try to get the subAdmin Area instead...
}else if (address.getSubAdminArea() != null){
cityName = address.getSubAdminArea();
}
String countryName = address.getCountryName();
editor.putString(getString(R.string.location_name_on_error),cityName + ", " + countryName);
editor.apply();
locationName = getString(R.string.location_name, cityName, countryName);
}
}
});
}
何かアドバイスやアイデアは非常に理解されるであろう!
これは良い点です。しかし、私はGradleを使ってこのライブラリをインポートしていますが、それ以外の方法でライブラリをインクルードする方法はわかりません:/ –
最も簡単な方法は、Javaコードをダウンロードしてプロジェクトに入れます。 –
しかし、あなたのgradleビルドスクリプトの依存関係を削除する必要があります;-) –