我是靠谱客的博主 迷你金鱼,最近开发中收集的这篇文章主要介绍JavaWeb 道德地图路线规划工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

高德地图api官方文档:https://lbs.amap.com/api/webservice/guide/api/direction#instructions

 

/**
 * 高德地图路经规划工具类
 * @开发者 hankongbin
 * @文件名 GDMapNavUtil.java
 * @类名 GDMapNavUtil
 */
public class GDMapNavUtil {
    private String startCoordinate;
    private String endCoordinate;
    private String applicationKey;
    private String param;
    /**
     * 必须要构造参数
     * @param startCoordinate 起点经纬度 经度在前,纬度在后
     * @param endCoordinate 终点经纬度 经度在前,纬度在后
     * @param applicationKey 高德地图应用key,需要Web服务类型的key
     */
    public MapNavUtil(String startCoordinate, String endCoordinate,
            String applicationKey) {
        this.startCoordinate = startCoordinate;
        this.endCoordinate = endCoordinate;
        this.applicationKey = applicationKey;
        this.param="origin="+this.startCoordinate+"&destination="+this.endCoordinate+"&key="+this.applicationKey;
    }
    /**
     * 获取地图导航返回值 驾车
     * @return
     */
    public String getDriving(){
        String sendGet = HttpRequestUtil.sendPost("https://restapi.amap.com/v3/direction/driving", param);
        JSONObject jsonObject=JSONObject.fromObject(sendGet);
        String routeJsonString = jsonObject.get("route").toString();
        JSONObject routeObject=JSONObject.fromObject(routeJsonString);
        JSONArray jsonArray = routeObject.getJSONArray("paths");
        JSONObject zuiJson = jsonArray.getJSONObject(0);
        // duration 时间:秒
        // distance 距离:米
        return zuiJson.get("distance").toString();
    }
    
    /**
     * 获取地图导航返回值 步行
     * @return
     */
    public String getWalking(){
        String sendGet = HttpRequestUtil.sendPost("https://restapi.amap.com/v3/direction/walking", param);
        JSONObject jsonObject=JSONObject.fromObject(sendGet);
        String routeJsonString = jsonObject.get("route").toString();
        JSONObject routeObject=JSONObject.fromObject(routeJsonString);
        JSONArray jsonArray = routeObject.getJSONArray("paths");
        JSONObject zuiJson = jsonArray.getJSONObject(0);
        return zuiJson.get("distance").toString();
    }
    
    /**
     * 获取地图导航返回值 公交
     * @return
     */
    public String getIntegrated(){
        SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat sd2=new SimpleDateFormat("HH:mm");
        Date date=new Date();
        param+="&city=四川&cityd=四川&strategy=0&nightflag=0&date="+sd.format(date)+"&time="+sd2.format(date);
        String sendGet = HttpRequestUtil.sendPost("https://restapi.amap.com/v3/direction/transit/integrated", param);
        JSONObject jsonObject=JSONObject.fromObject(sendGet);
        JSONObject object = jsonObject.getJSONObject("route");
        return object.getString("distance");
    }
    
    /**
     * 获取地图导航返回值 骑行
     * @return
     */
    public String getBicycling(){
        String sendGet = HttpRequestUtil.sendPost("https://restapi.amap.com/v4/direction/bicycling", param);
        JSONObject jsonObject=JSONObject.fromObject(sendGet);
        String routeJsonString = jsonObject.get("data").toString();
        JSONObject routeObject=JSONObject.fromObject(routeJsonString);
        JSONArray jsonArray = routeObject.getJSONArray("paths");
        JSONObject zuiJson = jsonArray.getJSONObject(0);
        return zuiJson.get("distance").toString();
    }
    
    
    
    
    /**
     * 获取地图导航返回值 驾车
     * 获取到达目的地所需时间
     * @return
     */
    public String getDrivingTime(){
        String sendGet = HttpRequestUtil.sendPost("https://restapi.amap.com/v3/direction/driving", param);
        JSONObject jsonObject=JSONObject.fromObject(sendGet);
        String routeJsonString = jsonObject.get("route").toString();
        JSONObject routeObject=JSONObject.fromObject(routeJsonString);
        JSONArray jsonArray = routeObject.getJSONArray("paths");
        JSONObject zuiJson = jsonArray.getJSONObject(0);
        return zuiJson.get("duration").toString();//秒
    }
}

public static void main(String[] args) {
		// 起始地 经度lo - 维度 la
		String origin = 104.082997 + "," + 30.628522;
		// 目的地
		String destination = 104.090889 + "," + 30.530684;
		MapNavUtil m = new MapNavUtil(origin,destination,"xxx");
		System.out.println("驾车:"+m.getDrivingTime());
		System.out.println("步行:"+m.getWalkingTime());

	}

 

最后

以上就是迷你金鱼为你收集整理的JavaWeb 道德地图路线规划工具类的全部内容,希望文章能够帮你解决JavaWeb 道德地图路线规划工具类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部