springboot演示
高德地图开发地址注册开发者,申请key
高德地图工具类java
package com.sf.auth.toolbox;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.Component;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/**
* @author lqy
* @des 高德地图工具类
*/
@Component
public class GouldUtil {
//在高德申请的应用Key
private static final String GOULD_KEY= PropertiesUtil.getProperty("gould.Key");
//申请的账户Key
/**
* 0.根据地址名称得到两个地址间的距离
* @param start 起始位置
* @param start 结束位置
* @return 两个地址间的距离
*/
public long getDistanceByAddress(String start, String end) {
String startLonLat = getLonLat(start);
String endLonLat = getLonLat(end);
long dis = getDistance(startLonLat, endLonLat);
return dis;
}
/**
* 1.地址转换为经纬度
* @param address 地址
* @return 经纬度
*/
public String getLonLat(String address) {
// 返回输入地址address的经纬度信息, 格式是 经度,纬度
String queryUrl = "http://restapi.amap.com/v3/geocode/geo?key="+GOULD_KEY+"&address=" + address;
String queryResult = getResponse(queryUrl); // 高德接品返回的是JSON格式的字符串
JSONObject job = JSONObject.parseObject(queryResult);
JSONObject jobJSON = JSONObject
.parseObject(job.get("geocodes").toString().substring(1,