2

私はここで奇妙な問題に直面しています、

WebブラウザまたはJavaコマンドラインからURLの下を実行すると

http://maps.googleapis.com/maps/api/distancematrix/json?origins=416%2063,Sweden&destinations=424%2069,Stor%C3%A5s%20Industrigatan%2020,Angered,G%C3%B6teborg&sensor=false

以下の結果が得られます。

{
  "destination_addresses" : [ "Storås Industrigata 20, 424 69
Angered, Sweden" ],
  "origin_addresses" : [ "Gothenburg, Sweden" ],
  "rows" : [
     {
        "elements" : [
           {
              "distance" : {
                 "text" : "10.4 km",
                 "value" : 10388
              },
              "duration" : {
                 "text" : "15 mins",
                 "value" : 924
              },
              "status" : "OK"
           }
       ]
     }
  ],
  "status" : "OK"
}    

しかし、グラスフィッシュサーバーから同じURLを実行すると、フォーム送信からhttpリクエストを送信することを意味し、奇妙な応答を下回ります

{ "destination_addresses" : [ "" ],
  "origin_addresses" : [ "Gothenburg, Sweden" ],
  "rows" : [
     {
        "elements" : [
           {
              "status" : "NOT_FOUND"
           }
        ]
     }
  ],
  "status" : "OK"
}

この場合、destination_addresses が空で、status が NOT_FOUND にならないようにしてください。

応答を取得するために使用したJavaコードは

private String getResponse(String URL) throws Exception {
        InputStream stream = new URL(URL).openStream();
        byte[] array = new byte[stream.available()];
        stream.read(array);
        return new String(array);
}

この問題を解決するために私を導いてください、

ありがとう....

4

2 に答える 2

0


Google がソフトウェアの接続を許可しない場合を除き、https を使用してください。

そしてAPIキーを取得します。

これを読んでください: https://developers.google.com/maps/documentation/distance-matrix/start

https://maps.googleapis.com/maps/api/distancematrix/json?origins=416%2063,Sweden&destinations=424%2069,Stor%C3%A5s%20Industrigatan%2020,Angered,G%C3%B6teborg&sensor=false&key=YOUR_API_KEY

YOUR_API_KEY を実際の API キーに置き換えてください

于 2016-12-06T05:10:21.810 に答える