2012-11-26 38 views
0

所以IAM使用反向地理编码,一切工作正常,但我收到包装在StringBuilder的解析XML数据中的StringBuilder

我期待得到的只是一号线如XML格式的响应。 :我想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/

+0

变线拿到位置而块这个sb.append(线); –

+0

我只想在XML数据上得到1-2项,你说我应该删除\ n? – user1839514

回答

0

可以使用地理编码

Geocoder geocoder = new Geocoder(mContext, Locale.getDefault()); 
addresses = geocoder.getFromLocation(lattitude,longitude, 1); 
+0

是的,我知道,但这是更好使用谷歌因为GeoCoder始终给我空结果 – user1839514

+0

你使用哪个提供商?网络或GPS提供商.. – Akhil

+0

我不知道,当我使用它我的wifi和gps被启用,无论如何,我发布的链接解决了我的问题,没有问题 – user1839514