高德地图之骑行路径规划

高德地图之骑行路径规划(替换你的KEY)

路径规划路径规划API:http://lbs.amap.com/api/webservice/guide/api/direction


package com.gdmap.jopo.rideline;

public class RideLineJson {
	private Data data;
	private String errcode;
	private String errdetail;
	private String errmsg;

	public RideLineJson(Data data, String errcode, String errdetail,
			String errmsg) {
		super();
		this.data = data;
		this.errcode = errcode;
		this.errdetail = errdetail;
		this.errmsg = errmsg;
	}

	public RideLineJson() {
		super();
	}

	public Data getData() {
		return data;
	}

	public void setData(Data data) {
		this.data = data;
	}

	public String getErrcode() {
		return errcode;
	}

	public void setErrcode(String errcode) {
		this.errcode = errcode;
	}

	public String getErrdetail() {
		return errdetail;
	}

	public void setErrdetail(String errdetail) {
		this.errdetail = errdetail;
	}

	public String getErrmsg() {
		return errmsg;
	}

	public void setErrmsg(String errmsg) {
		this.errmsg = errmsg;
	}

	@Override
	public String toString() {
		return "RideLineJson [data=" + data + ", errcode=" + errcode
				+ ", errdetail=" + errdetail + ", errmsg=" + errmsg + "]";
	}
}

public class Data {
	private String origin;
	private String destination;
	private Paths paths;

	public Data(String origin, String destination, Paths paths) {
		super();
		this.origin = origin;
		this.destination = destination;
		this.paths = paths;
	}

	public Data() {
		super();
	}

	public String getOrigin() {
		return origin;
	}

	public void setOrigin(String origin) {
		this.origin = origin;
	}

	public String getDestination() {
		return destination;
	}

	public void setDestination(String destination) {
		this.destination = destination;
	}

	public Paths getPaths() {
		return paths;
	}

	public void setPaths(Paths paths) {
		this.paths = paths;
	}

	@Override
	public String toString() {
		return "Data [origin=" + origin + ", destination=" + destination
				+ ", paths=" + paths + "]";
	}
}
package com.gdmap.jopo.rideline;

import java.util.List;

public class Paths {
	private String distance;
	private String duration;
	private List<Steps> steps;

	public Paths() {
		super();
	}

	public Paths(String distance, String duration, List<Steps> steps) {
		super();
		this.distance = distance;
		this.duration = duration;
		this.steps = steps;
	}

	public String getDistance() {
		return distance;
	}

	public void setDistance(String distance) {
		this.distance = distance;
	}

	public String getDuration() {
		return duration;
	}

	public void setDuration(String duration) {
		this.duration = duration;
	}

	public List<Steps> getSteps() {
		return steps;
	}

	public void setSteps(List<Steps> steps) {
		this.steps = steps;
	}

	@Override
	public String toString() {
		return "Paths [distance=" + distance + ", duration=" + duration
				+ ", steps=" + steps + "]";
	}

}

package com.gdmap.jopo.rideline;


public class Steps {
	private String instrution;
	private String road;
	private String distance;
	private String orientation;
	private String duration;
	private String polyline;
	private String action;
	private String assistant_action;
	public Steps() {
		super();
	}
	public Steps(String instrution, String road, String distance,
			String orientation, String duration, String polyline,
			String action, String assistant_action) {
		super();
		this.instrution = instrution;
		this.road = road;
		this.distance = distance;
		this.orientation = orientation;
		this.duration = duration;
		this.polyline = polyline;
		this.action = action;
		this.assistant_action = assistant_action;
	}
	public String getInstrution() {
		return instrution;
	}
	public void setInstrution(String instrution) {
		this.instrution = instrution;
	}
	public String getRoad() {
		return road;
	}
	public void setRoad(String road) {
		this.road = road;
	}
	public String getDistance() {
		return distance;
	}
	public void setDistance(String distance) {
		this.distance = distance;
	}
	public String getOrientation() {
		return orientation;
	}
	public void setOrientation(String orientation) {
		this.orientation = orientation;
	}
	public String getDuration() {
		return duration;
	}
	public void setDuration(String duration) {
		this.duration = duration;
	}
	public String getPolyline() {
		return polyline;
	}
	public void setPolyline(String polyline) {
		this.polyline = polyline;
	}
	public String getAction() {
		return action;
	}
	public void setAction(String action) {
		this.action = action;
	}
	public String getAssistant_action() {
		return assistant_action;
	}
	public void setAssistant_action(String assistant_action) {
		this.assistant_action = assistant_action;
	}


	@Override
	public String toString() {
		return "Steps [instrution=" + instrution + ", road=" + road
				+ ", distance=" + distance + ", orientation=" + orientation
				+ ", duration=" + duration + ", polyline=" + polyline
				+ ", action=" + action + ", assistant_action="
				+ assistant_action + "]";
	}
}


package com.gdmap.util.map;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.gdmap.jopo.rideline.Data;
import com.gdmap.jopo.rideline.Paths;
import com.gdmap.jopo.rideline.RideLineJson;
import com.gdmap.jopo.rideline.Steps;
import com.hbbc.util.HttpUtil;

public class MapLineUtil {
	private static String URL = "http://restapi.amap.com/v4/direction/bicycling";
	private static String key = "/*你的KEY*/";
	
	/**
	 * @author mzm
	 * @param originX 经度X
	 * @param originY 经度Y
	 * @param destinationX 纬度X
	 * @param destinationY 纬度Y
	 * @return RideLineJson 骑行路线
	 */
	public static RideLineJson RideLine(String originX,String originY,String destinationX,String destinationY){
		URL += "?key=" + key;
		URL += "&origin=" + originX + "," + originY;
		URL += "&destination=" + destinationX + "," + destinationY;
		
		String result = HttpUtil.callWebPage(URL, null);
		//System.out.println(result);
		
		JSONObject jsonObject = JSON.parseObject(result);
		RideLineJson rideLineJson = new RideLineJson();
		rideLineJson.setErrcode(jsonObject.getString("errcode"));
		rideLineJson.setErrdetail(jsonObject.getString("errdetail"));
		rideLineJson.setErrmsg(jsonObject.getString("errmsg"));
		
		//JSONArray jsonArrayDate = jsonObject.getJSONArray("data");
		JSONObject jsonObjectData = (JSONObject)jsonObject.get("data");
		Data data = new Data();
		data.setDestination(jsonObjectData.getString("destination"));
		data.setOrigin(jsonObjectData.getString("origin"));		
		
		JSONArray jsonArrayPaths = jsonObjectData.getJSONArray("paths");
		JSONObject jsonObjectPaths = null;
		for(int i = 0;i < jsonArrayPaths.size();i++){
			jsonObjectPaths = (JSONObject)jsonArrayPaths.get(i);
			Paths paths = new Paths();
			paths.setDistance(jsonObjectPaths.getString("distance"));
			paths.setDuration(jsonObjectPaths.getString("duration"));
			
			JSONArray jsonArraySteps = jsonObjectPaths.getJSONArray("steps");
			JSONObject jsonObjectSteps = null;
			List<Steps> steps = new ArrayList<Steps>();
			for(int j = 0;j < jsonArraySteps.size();j++){
				Steps step = new Steps();
				jsonObjectSteps = (JSONObject)jsonArraySteps.get(j);
				step.setInstrution(jsonObjectSteps.getString("instruction"));
				step.setAction(jsonObjectSteps.getString("action"));
				step.setAssistant_action(jsonObjectSteps.getString("assistant_action"));
				step.setDistance(jsonObjectSteps.getString("distance"));
				step.setDuration(jsonObjectSteps.getString("duration"));
				step.setOrientation(jsonObjectSteps.getString("orientation"));
				step.setPolyline(jsonObjectSteps.getString("polyline"));
				step.setRoad(jsonObjectSteps.getString("road"));
				steps.add(step);
			}
			
			paths.setSteps(steps);
			data.setPaths(paths);
			rideLineJson.setData(data);
			
			System.out.println(rideLineJson.toString());
			
		}
		
		
		
		return rideLineJson;
	}

}



测试:
package com.hbbc.test;

import com.gdmap.util.map.MapLineUtil;

public class Test {
	public static void main(String[] args) {
		MapLineUtil.RideLine("116.434307","39.90909","116.434446","39.90816");
	}
}
   


输出结果:
RideLineJson [data=Data [origin=116.434307,39.90909, destination=116.434446,39.90816, paths=Paths [distance=217, duration=52, 
steps=[Steps [instrution=骑行54米右转, road=, distance=54, orientation=, duration=13, polyline=116.434319,39.90905;116.434967,39.90905,
 action=右转, assistant_action=], Steps [instrution=沿建国门北大街向南骑行115米右转, road=建国门北大街, distance=115, orientation=南, 
duration=28, polyline=116.434967,39.90905;116.434952,39.908985;116.434891,39.908867;116.434891,39.908867;116.434814,39.908653;
116.43483,39.908428;116.434883,39.908302;116.434883,39.908302;116.434975,39.908195;116.435005,39.908104;116.435005,39.908081, action=右转,
 assistant_action=], Steps [instrution=骑行48米到达目的地, road=, distance=48, orientation=, duration=12, polyline=116.435005,39.90807;
116.434456,39.90807, action=, assistant_action=到达目的地]]]], errcode=0, errdetail=null, errmsg=OK]





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值