资源简介

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

评论

共有 条评论