0

入力に基づいてマップルートをプロットするアプリケーションに取り組んでいます。入力 URI の例を次に示します。

http://maps.googleapis.com/maps/api/directions/json?origin=38.842794,-77.408132&destination=38.8685938,-77.2711787&region=en&sensor=true&waypoints=optimize:true|38.839619,-77.410309

httpget,httpresponse を使用して、json の URI から応答を取得する予定です。このリンクに問題があります。

HttpGet httpget = new HttpGet(uri);
        HttpResponse response;
        try
        {
            response = httpclient.execute(httpget);
            HttpEntity entity = response.getEntity();
            if(entity!=null)
            {

                InputStream instream = entity.getContent();
                StreamToString st = new StreamToString();
                result = st.convertStreamtoString(instream);

                blah blah blah ...

次のようなエラーが表示されます:-

Caused by: java.lang.IllegalArgumentException: Illegal character in query at index 160: http://maps.googleapis.com/maps/api/directions/json?origin=38.842794,-77.408132&destination=38.8685938,-77.2711787&region=en&sensor=true&waypoints=optimize:true|38.839619,-77.410309

そのため、URI をエンコードしていないため、発生した可能性があると考えました。だから後で私は使ってみました

uri = URLEncoder.encode(uri, "UTF-8");

その後、次のような別のエラーが表示されました:-

java.lang.IllegalStateException: Target host must not be null, or set in parameters. scheme=null, host=null, path=http://maps.googleapis.com/maps/api/directions/json?origin=38.842794,-77.408132&destination=38.8685938,-77.2711787&region=en&sensor=true&waypoints=optimize:true|38.839619,-77.410309

この問題を解決するために私を助けてください。前もって感謝します。

4

0 に答える 0