고 덕 두 곳 사이 거리 획득

2146 단어 Java
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.client.RestTemplate;

import java.util.List;
import java.util.Map;


@Slf4j
public class obtainDistance {
	private static final String KEY = "**************************";

	private static final RestTemplate restTemplate = new RestTemplate();

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

	private static final String BASE_DISTANCE = "http://restapi.amap.com/v3/distance";


	public static void main(String[] args) {
		String start = "         ";
		String end = "      ";

		String startLonLat = regeo(start);
		String endLonLat = regeo(end);

		Long dis = getDistance(startLonLat, endLonLat);
		System.out.println(dis + "=============================");
	}

	/**
	 *         
	 *
	 * @param address
	 * @return
	 */
	public static String regeo(String address) {
		String url = BASE_URL + "?key=" + KEY + "&address=" + address;
		try {
			Map result = restTemplate.getForObject(url, Map.class);
			System.out.println(result);
			if (result != null) {
				List> mapList = (List>) result.get("geocodes");

				return mapList.get(0).get("location").toString();
			}
			return null;
		} catch (Exception e) {
			log.error("       ", e);
		}
		return null;
	}


       public static Integer getDistance(String startLonLat, String endLonLat) {
		//     startAddr    endAddr     ,  : 
		Integer result = 0;
		String queryUrl = BASE_DISTANCE + "?key=" + KEY + "&origins=" + startLonLat + "&destination=" + endLonLat;
		try {
			Map data = restTemplate.getForObject(queryUrl, Map.class);
			System.out.println(data);
			if (data != null) {
				List> mapList = (List>) data.get("results");
				result = (Integer) mapList.get(0).get("distance");
				return result;
			}
		} catch (Exception e) {
			log.error("      ", e);
		}
		return result;
	}



}

좋은 웹페이지 즐겨찾기