3

Play フレームワーク 2.1.1 (Java) とgooglemap v3 (ローカル Web サイト)に取り組んでいます。

GooglemapのURLを使って緯度経度を取得したいです。この URLでjson応答を返して後で解析し、データベースに緯度と経度を挿入する必要があります。googlemap の URL でない場合は問題なく動作しますが、コードでこの種の URL を使用すると、有名な「request_denied」エラーが発生します。

http://maps.googleapis.com/maps/api/geocode/json?address=パリ&sensor=false

理由はわかりませんが、このエラーはセンサーパラメーターの欠如から来ていると読みましたが、ご覧のとおり、私の URL にあります。

私のコードについて:

public static Result displaySomeJson(){
    Promise<WS.Response> request= WS.url("http://maps.googleapis.com/maps/api/geocode/json?address=Paris&sensor=false").get();
    JsonNode json = request.asJson();
    return ok(json.toString())
}

それは私に与えます:{「結果」:[]、「ステータス」:「REQUEST_DENIED」}

  • http://maps.GOOGLEAPIS.comの代わりに http://maps.GOOGLE.comでも試しましが、同じ結果が得られました。
  • API キーも使用してみましたが、再び失敗しました。
  • 私は多くの要求を送信しませんでした。

何か提案があれば、共有してください。

4

2 に答える 2

2

わかりました私はこの方法を見つけました:

Promise<WS.Response> request =
WS.url("http://maps.googleapis.com/maps/api/geocode/json")
.setQueryParameter("address",adresse).setQueryParameter("sensor", "true")
.post("content");

それから私はそれを解析しました:

String lat = request.get().asJson().path("results").get(0).get("geometry").get("location").get("lat").toString();
String long = request.get().asJson().path("results").get(0).get("geometry").get("location").get("lng").toString();

それが「明確な」方法であるかどうかはわかりませんが、うまく機能します。:)

于 2013-07-03T10:05:48.250 に答える