高德地图调用首先:我们需要在高德地图 这个 https://lbs.amap.com/api/webservice/summary/ 网站获取到Key
下来的操作就很简单了
package com.fms.ftl.ScreenData.mapUtils;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
import java.util.Map;
/**
* Created by xiaobai on 2019/8/29.
* 调用高德地图获取地级市
* @author xiaobai.
* @DATE 2019/8/29
*/
public class MapUtils {
/**
* 高德地图key
*/
private String key = "这里是你获取的key";
/**
* 请求路径
*/
private String url = "https://restapi.amap.com/v3/geocode/geo?parameters";
/**
* 根据不规则城市名称获取地级市以及坐标
* @param cityName
* @return
*/
public static Map<String,Object> getCicyAndLoc(String cityName){
Map<String,Object> params = new HashMap<>();
MapUtils utils = new MapUtils();
params.put("key",utils.getKey());
params.put("address",cityName);
params.put("output","json");
String result = HttpCilentUtil.doGet(utils.getUrl(), params);
JSONObject object = (JSONObject) JSONObject.parse(result);
cityName = (String) ((JSONObject) ((JSONArray) object.get("geocodes")).get(0)).get("city");
String location = (String) ((JSONObject) ((JSONArray) object.get("geocodes")).get(0)).get("location");
Map<String,Object> map = new HashMap<>();
map.put("cityName",cityName);
map.put("location",location);
return map;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public static void main(String[] args) {
Map<String, Object> cicyAndLoc = getCicyAndLoc("耀州区关庄镇");
System.out.println(cicyAndLoc.get("location"));
}
}
这里用到的HttpCilentUtil.doGet()方法,稍后我会把doget的调用方法写出来,其实也是看的某个大佬的,如果大家找到了doget方法的作者,请留言联系,我会修改!谢谢