Android 依据城市名称获取经纬度

Android 根据城市名称获取经纬度/** * 根据城市名称获取经纬度 ** @param city城市中文名称、拼音、英文 * @

Android 根据城市名称获取经纬度

/** * 根据城市名称获取经纬度 *  * @param city        城市中文名称、拼音、英文 * @return location         经纬度数组,0为经度,1为纬度 */private String[] getLocationByCityName(String city) {String[] location = new String[2];try {HttpClient httpClient = new DefaultHttpClient();HttpPost httpPost = new HttpPost("http://maps.google.com/maps/geo?q=" + city);int res = 0;res = httpClient.execute(httpPost).getStatusLine().getStatusCode();if (res == 200) {/* * 当返回码为200时,做处理 得到服务器端返回json数据,并做处理 */HttpResponse httpResponse = httpClient.execute(httpPost);StringBuilder builder = new StringBuilder();BufferedReader bufferedReader2 = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2.readLine()) {builder.append(s);}/** * 这里需要分析服务器回传的json格式数据, */JSONObject jsonObject = new JSONObject(builder.toString());JSONArray jsonArray = jsonObject.getJSONArray("Placemark");for (int i = 0; i < jsonArray.length(); i++) {JSONObject jsonObject2 = (JSONObject) jsonArray.opt(i);JSONObject jsonObject3 = new JSONObject(jsonObject2.getString("Point"));JSONArray jsonArray1 = jsonObject3.getJSONArray("coordinates");location[0] = (String) jsonArray1.get(0);location[1] = (String) jsonArray1.get(1);}}} catch (ClientProtocolException e) {e.printStackTrace();} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (JSONException e) {e.printStackTrace();}return location;}});