1:获取百度地图秘钥
具体操作就不介绍了,自行去百度地图开放平台注册
2:代码
package com.tfr.seckill.controller;
import com.alibaba.fastjson.JSONObject;
import java.net.URL;
import java.util.Map;
/**
* @Description:
* @ClassName: TestController
* @Author: Rain
* @Date: 2021-05-23 21:07
* @Version: 1.0
**/
public class TestController {
public static Map getProvince(String lon, String lat ){
String ak="您的秘钥";//
// http://api.map.baidu.com/reverse_geocoding/v3/?ak=您的ak&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194 //GET请求
String urlString="http://api.map.baidu.com/reverse_geocoding/v3/?ak="+ak+"&output=json&coordtype=wgs84ll&location="+lat+","+lon;
String res = "";
try {
URL url = new URL(urlString);
java.net.HttpURLConnection conn = (java.net.HttpURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream(),"UTF-8"));
String line;
while ((line = in.readLine()) != null) {
res += line+"\n";
}
in.close();
} catch (Exception e) {
System.out.println("error in wapaction,and e is " + e.getMessage());
}
System.out.println(res);
JSONObject jsonObject = JSONObject.parseObject(res);
Object result = jsonObject.get("result");
Map map = JSONObject.parseObject(JSONObject.toJSONString(result), Map.class);
return map;
}
public static void main(String[] args) {
Map map = getProvince("118.926910", "42.335752");
String formatted_address = map.get("formatted_address").toString();
String business = map.get("business").toString();
System.out.println(formatted_address+","+business);
}
}
3:json解析用的阿里的fastjson
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
</dependency>