0

所以我使用 Reverse GeoCoding ,一切正常,但我收到了 StringBuilder 中打包的 xml 格式的响应

我希望只得到一条线,例如。:我想要一个String中的item1,怎么能做到这一点?

这是我的代码;

 public void getPlaces() {

HttpURLConnection connection = null;
URL serverAddress = null;
Double latitude = 37.422006;
Double longitude = -122.084095;

try {
    // build the URL using the latitude & longitude you want to lookup
    // NOTE: I chose XML return format here but you can choose something else
    serverAddress = new URL("http://maps.google.com/maps/geo?q=" + Double.toString(latitude) + "," + Double.toString(longitude) +
                "&output=xml&oe=utf8&sensor=true");
    //set up out communications stuff
    connection = null;

    //Set up the initial connection
    connection = (HttpURLConnection)serverAddress.openConnection();
    connection.setRequestMethod("GET");
    connection.setDoOutput(true);
    connection.setReadTimeout(10000);

    connection.connect();

    BufferedReader rd  = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    StringBuilder sb = new StringBuilder();
    String line = null;

    while ((line = rd.readLine()) != null)
    {
        sb.append(line + '\n');
    }
    // now the response is packaged in a string,
    // parse the XML or whatever you need
    String responseText = sb.toString();
    Toast.makeText(this, responseText, Toast.LENGTH_LONG).show();
} catch (Exception ex) {
    ex.printStackTrace();
}



}

谢谢 。

编辑:使用此链接解决:

http://www.smnirven.com/blog/2009/10/09/reverse-geocode-lookup-using-google-maps-api-on-android-revisited/

4

1 回答 1

0

您可以使用 Geocoder 获取位置

Geocoder geocoder = new Geocoder(mContext, Locale.getDefault());
addresses = geocoder.getFromLocation(lattitude,longitude, 1);
于 2012-11-26T12:34:31.097 回答