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 コード検索で場所を取得するにはどうすればよいですか?