Android yandex地理编码地址

时间:2017-03-02 07:43:46

标签: android yandex-maps yandex-api

在我的应用中,我想将原始地址解码为坐标。我这样做:

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仅为webapps和网站提供此API。 为此找到了一个丑陋的解决方法。我正在使用此请求网址在webview中加载页面,并从webview获取响应中的原始文本。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Android Geocoder。它是android原生API。

用于处理地理编码和反向地理编码的类。