0

我正在尝试使用谷歌地图对我的位置进行反向地理编码,以检索我当前位置的街道名称,也许还有邮政编码。我尝试了许多使用本地化的项目,但我认为我的国家总是让它返回一个空值(我来自新加坡)。

使用 XML,我有点不确定我应该如何解析从谷歌地图获得的文件。

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");

谁能给我一个前进的方向?我应该使用 Document 函数保存然后继续使用 SAX 解析文件吗?

4

1 回答 1

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 的更多详细信息,请参见此示例

于 2012-05-09T09:37:14.573 回答