資源簡介
java寫的調用高德公交api,包括線路查詢、換乘策略、兩點距離、步行距離等功能實現,調用高德返回json進行詳細解析,代碼都有覆蓋,拿來即用。

代碼片段和文件信息
package?io.renren.modules.us.controller;
/**
?*?@author?gaoxipeng
?*?@Date?2018/9/7?14:09
?*?@Description?查詢公交線路規劃
?*/
import?com.alibaba.fastjson.JSONArray;
import?com.alibaba.fastjson.JSONobject;
import?io.renren.common.exception.RRException;
import?io.renren.common.validator.ValidatorUtils;
import?io.renren.modules.us.param.UsBusRouteDetilsParam;
import?io.renren.modules.us.param.UsBusRouteParam;
import?io.renren.modules.us.util.BusRouteUtils;
import?io.renren.modules.us.util.UsOkHttpUtil;
import?io.swagger.annotations.Api;
import?io.swagger.annotations.ApiOperation;
import?okhttp3.Response;
import?org.slf4j.Logger;
import?org.slf4j.LoggerFactory;
import?org.springframework.beans.factory.annotation.Value;
import?org.springframework.web.bind.annotation.PostMapping;
import?org.springframework.web.bind.annotation.RequestBody;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RestController;
import?java.io.IOException;
/**
?*?1.這個需要客戶申請個高德API上面的key
?*?*/
@RestController
@RequestMapping(“/api/bus“)
@Api(“公交路線查詢“)
public?class?BusRoutePlanController?{
????private?Logger?logger?=?LoggerFactory.getLogger(BusRoutePlanController.class);
????@Value(“${us.bus.key}“)
????private?String?key;
????@Value(“${us.bus.output}“)
????private?String?output;
????@Value(“${us.bus.city}“)
????private?String?city;
????@Value(“${us.bus.busUrl}“)
????private?String?busUrl;
????@Value(“${us.bus.geocodeUrl}“)
????private?String?geocodeUrl;
????@Value(“${us.bus.distanceUrl}“)
????private?String?distanceUrl;
????private?static?String?s?=?null;
????/**
?????*?@Author?gaoxp
?????*?@Description???公交線路了查詢
?????*?@Date?16:13?2018/9/7
?????*?@Param?[form]
?????*?@return?io.renren.common.utils.R
?????**/
????@PostMapping(“/busRouteList“)
????@ApiOperation(“公交路線查詢“)
????public?String?busrRouteList(@RequestBody?UsBusRouteParam?form)?throws?IOException?{
????????//表單校驗
????????ValidatorUtils.validateEntity(form);
????????String?start?=?form.getOrigin();
????????String?end?=?form.getDestination();
????????//起點經緯度
????????String?startLonLat?=?getLonLat(start);
????????//目的地經緯度
????????String?endLonLat?=getLonLat(end);
????????//公交換乘策略
????????String?strategy=?form.getStrategy();
????????//出發日期
????????String?date=form.getDate();
????????//出發時間
????????String?time=form.getTime();
????????//System.out.println(“起始地:“+start+“經緯度:“+startLonLat);
????????//System.out.println(“終點:“+end+“經緯度:“+endLonLat);
????????Long?dis?=?getDistance(startLonLatendLonLat);
????????logger.info(start+“?到?“+end+“的距離為:“+dis+“米“);
????????//公交線路
????????String?queryUrl?=busUrl+“origin=“+startLonLat+“&destination=“+endLonLat+“&strategy=“+strategy+“&date=“+date+“&time=“+time+“&city=“+city+“&output=“+output+“&key=“+key+““;
????????String?response?=?getResponse(queryUrl);
????????//解析從高德返回的json數據返回前端
????????s?=?BusRouteUtils.busTaints(responseform.get
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-18?13:24??GaodeBus\
?????文件????????1248??2018-10-18?13:24??GaodeBus\application-dq.yml
?????文件????????6819??2018-09-28?09:15??GaodeBus\BusRoutePlanController.java
?????文件???????15304??2018-09-29?14:45??GaodeBus\BusRouteUtils.java
- 上一篇:java遠程讀寫服務器文件
- 下一篇:Android 指南針的源碼實現.rar
評論
共有 條評論