0
私のアプリでは、生のアドレスを座標にデコードしたいと思います。私はそれが好きです:Android yandexジオコードアドレス
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
try {
params.add("geocode", URLEncoder.encode(charSequence.toString(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
client.post(getApplicationContext(), "https://geocode-maps.yandex.ru/1.x/", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.d("Yandex Geocode", "Success! Answer = " + new String(responseBody));
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.d("Yandex Geocode", "Failure :(Error = " + error.toString());
}
});
しかし、このリクエストはサーバーに届きません。
failed to connect to geocode-maps.yandex.ru/213.180.204.122 (port 443) after 10000ms: isConnected failed: ECONNREFUSED (Connection refused)
なぜ機能しないのですか?
EDIT
Yandexのが唯一のWebアプリケーションやサイトのために、このAPIを提供するので、それは働いていません。 これには醜い回避策が見つかりました。私はこのリクエストURLでWebviewのページをロードしており、webviewから応答から生のテキストを取得しています。
問題はAndroidジオコーダとGoogleジオコーダがロシア語のアドレスで問題があることです。 Yandexマップapiはロシアのアドレスに最適です – TrueCH