1

以下は私のコードです。一部のアドレスでは、以下のコードは Android デバイス API レベル 8 で動作します。しかし、一部のアドレスでは、アドレスの値が [] として返されます。しかし、iPhone から同じサーバーを呼び出している間、このような問題は発生しません。

Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());
List<Address> address = geocoder.getFromLocationName(MAPADDRESS, 1);

Android デバイスでこの問題を解決する方法。

4

2 に答える 2

0

次のメソッドを使用してください...呼び出し中に文字列入力を与えます

 public static JSONObject getLocationInfo(String address) {
            StringBuilder stringBuilder = new StringBuilder();
            try {

            address = address.replaceAll(" ","%20");    

            HttpPost httppost = new HttpPost("http://maps.google.com/maps/api/geocode/json?address=" + address + "&sensor=false");
            HttpClient client = new DefaultHttpClient();
            HttpResponse response;
            stringBuilder = new StringBuilder();


                response = client.execute(httppost);
                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;
        }
于 2012-06-01T12:23:37.797 に答える