2017-03-02 111 views
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) 

任何建議爲什麼它不工作?

編輯

它不工作,因爲Yandex的提供這個API僅適用於web應用和網站。 實測值醜陋解決方法此。我加載在網頁視圖頁面與該請求的URL和響應從獲取原始文本,從web視圖。

回答

0

您可以與Android地理編碼嘗試。它是android本機API。

一種用於處理地理編碼和反向地理編碼類。

+0

問題是,Android的地理編碼器和谷歌地理編碼器工作不良俄羅斯地址。 Yandex地圖API是俄羅斯地址的最佳選擇 – TrueCH