高德地图之骑行路径规划

来源:互联网 发布:linux 网桥 arp_proxy 编辑:程序博客网 时间:2024/04/29 09:21

高德地图之骑行路径规划(替换你的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;}@Overridepublic 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;}@Overridepublic 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;}@Overridepublic 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;}@Overridepublic 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]


原创粉丝点击