2016-05-05 11 views
2

Yandexジオコードを使用して住所の座標を受け取ろうとしています。ここで説明するように直接クエリを作成しましたhttps://tech.yandex.ru/maps/doc/geocoder/desc/concepts/input_params-docpage/Yandex APIジオコード

ただし、URIが正しくないと応答します。私が知ったように、それはウリにロシアの手紙が入っているからです。私はURLEncoderを使って修正しようとしましたが、何も変わりませんでした。どんな種類の助けにも感謝します。スレッド "メイン" java.lang.IllegalArgumentExceptionがで

import com.sun.deploy.net.URLEncoder; 
import org.apache.commons.httpclient.HttpClient; 
import org.apache.commons.httpclient.HttpStatus; 
import org.apache.commons.httpclient.methods.GetMethod; 

public class Main { 
    public static void main(String[] args) { 
     String address = "Санкт-Петербург"; 
     try { 
      URLEncoder.encode(address, "UTF-8"); 
     } catch (Exception e) { 
      System.out.print("BAD"); 
     } 
     System.out.println(address); 
     HttpClient client = new HttpClient(); 
     String request = "https://geocode-maps.yandex.ru/1.x/?geocode=" + address; 
     GetMethod method = new GetMethod(request); 
     String Lat="",Long=""; 
     try { 
      client.executeMethod(method); 
      String s = method.getResponseBodyAsString(); 
      System.out.print(s); 
     } catch (Exception e) {} 
    } 
} 

例外:無効なURI 'https://geocode-maps.yandex.ru/1.x/?geocode=Санкт-Петербург':無効なクエリ

答えて

1

あなたが実際に文字列をエンコードしませんでした。

それは助け、ありがとう:)あー

address = URLEncoder.encode(... 
+0

を試してみてください –

関連する問題