2012-05-09 1 views
0

Я пытаюсь изменить геокодирование своего местоположения с помощью карт Google, чтобы получить имя улицы моего текущего местоположения и, возможно, почтовый индекс. Я опробовал много проектов, которые использовали местность, но я думаю, что моя страна всегда заставляет ее возвращать нулевой (я из Сингапура).XML-анализ в отношении обратного геокода

Использование XML, я не уверен, как я могу проанализировать файл, полученный с карт Google.

serverAddress = new URL("http://maps.google.com/maps/geo?q=" + Double.toString(loc.getLatitude()) + "," + Double.toString(loc.getLongitude()) + "&output=xml&oe=utf8&sensor=true&key=Hidden");

Может кто-нибудь дать мне направление здесь, чтобы двигаться в сторону? Должен ли я использовать функцию «Документ» для сохранения, а затем продолжить работу с SAX для анализа файла?

ответ

0

попробовать это:

String urlStr = "http://maps.google.com/maps/geo?q=" + lat + "," + lon + "&output=json&sensor=false"; 
    String response = ""; 
    List<Address> results = new ArrayList<Address>(); 
    HttpClient client = new DefaultHttpClient(); 

    Log.d("ReverseGeocode", urlStr); 
    try { 
     HttpResponse hr = client.execute(new HttpGet(urlStr)); 
     HttpEntity entity = hr.getEntity(); 

     BufferedReader br = new BufferedReader(new InputStreamReader(entity.getContent())); 

     String buff = null; 
     while ((buff = br.readLine()) != null) 
      response += buff; 
      } catch (IOException e) { 
       e.printStackTrace(); 
     } 

более подробно на ReverseGeocode см this example

+0

Ok спасибо. Я попробую это. К сожалению, эта ссылка, похоже, касается JSON, и я еще не пробовал до сих пор. Спасибо за помощь! – Bocky