1

Google Maps API レベル 10 で 2.3.3 に取り組んでいます。

以下のコードを使用して、ユーザーが入力した場所を取得しました。

私が使用した URL は、Google MAPs API v2 または v3 に属しています。

public static JSONObject getLocationInfo(String address)
{
    HttpGet httpGet = new HttpGet("http://maps.google.com/maps/api/geocode/json?address="
                                  + address
                                  + "ka&sensor=false");
    HttpClient client = new DefaultHttpClient();
    HttpResponse response;
    StringBuilder stringBuilder = new StringBuilder();

    try
    {
        response = client.execute(httpGet);
        HttpEntity entity = response.getEntity();
        InputStream stream = entity.getContent();
        int b;
        while ((b = stream.read()) != -1)
        {
            stringBuilder.append((char) b);
        }
    }
    catch (ClientProtocolException e)
    {
    }
    catch (IOException e)
    {
    }

    JSONObject jsonObject = new JSONObject();
    try
    {
        jsonObject = new JSONObject(stringBuilder.toString());
    }
    catch (JSONException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return jsonObject;
}

これを実行した後、別のメソッドがその JSONObject を GeoPoint に変換します。

public static GeoPoint getGeoPoint(JSONObject jsonObject)
{
    Double lon = new Double(0);
    Double lat = new Double(0);

    try
    {
        lon = ((JSONArray)jsonObject.get("results")).getJSONObject(0)
              .getJSONObject("geometry").getJSONObject("location")
              .getDouble("lng");

        lat = ((JSONArray)jsonObject.get("results")).getJSONObject(0)
              .getJSONObject("geometry").getJSONObject("location")
              .getDouble("lat");
    }
    catch (JSONException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return new GeoPoint((int) (lat * 1E6), (int) (lon * 1E6));
}

上記のコードを使用すると、PIN コード検索で場所を取得できません。PIN コード検索で場所を取得するにはどうすればよいですか?

4

0 に答える 0