java调取高德api获取经纬度

发布时间 2023-07-21 11:59:30作者: 刘百会

//private static final String API_URL = "https://restapi.amap.com/v3/geocode/geo";
// private static final String KEY = "f67db737cf6f8095e56a35f3";

@Override
public void invoke(WasteRoomInfoExcelDTO wasteRoomInfoExcelDTO, AnalysisContext analysisContext) { String address = wasteRoomInfoExcelDTO.getStreet(); if(address.equalsIgnoreCase("1")){ System.out.println("查询失败"); return; } String output = address.substring(address.indexOf("(") + 1 ,address.indexOf(")")); if(StringUtils.isNoneBlank(output)){ address=output; }else { address="无"; } // String address = "北京市海淀区中关村大街27号"; String city = "郑州市"; String url = API_URL + "?key=" + KEY + "&address=" + address; try { URL apiUrl = new URL(url); HttpURLConnection connection = (HttpURLConnection) apiUrl.openConnection(); connection.setRequestMethod("GET"); connection.connect(); int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { response.append(line); } reader.close(); JSONObject json = (JSONObject) JSONObject.parse(response.toString()); // JSONObject json = new JSONObject(response.toString()); String status = json.getString("status"); if (status.equals("1")) { JSONObject geocode = json.getJSONArray("geocodes").getJSONObject(0); String location = geocode.getString("location"); System.out.println("经纬度:" + location); } else { System.out.println("经纬度:查询失败"); } } else { System.out.println("HTTP请求失败:" + responseCode); } } catch (Exception e) { e.printStackTrace(); } }

 参考:https://www.itxm.cn/post/hbcdc1a8.html