百度地图-鹰眼轨迹服务

1、服务概述:

官网地址:鹰眼轨迹服务 | 百度地图API SDK (里面有相关功能的介绍)

2、鹰眼轨迹服务基本概念:

3、权限与配额:

 4、创建鹰眼服务:

5、终端管理: 

添加Entity:

                      //地图应用-服务端-AK
 private String ak = "你的密钥";


//    新增实体
    @Test
    public  void testEntityAdd(){
        String url = "https://yingyan.baidu.com/api/v3/entity/add";
//        创建实体
        String body = HttpRequest.post(url)
                .form("ak",ak)
                                   //鹰眼服务service_id
                .form("service_id",******)
                .form("entity_name","route_1_1001")
                .form("entity_desc","用户一创建的1001路线")
                .execute().body();

        System.out.println(body);
    }

添加自定义字段:

更新Entity:

 删除Entity:

 查询Entity:

 6、轨迹上传: 

  //    上传轨迹   为一个entity上传一个轨迹点
    @Test
    public  void testEntityaddpoint(){
        String url = "https://yingyan.baidu.com/api/v3/track/addpoint";
//        创建实体
        String body = HttpRequest.post(url)
                .form("ak",ak)
                .form("service_id",2340**)
                .form("entity_name","route_1_1002")
                .form("latitude",21.276161)//纬度
                .form("longitude",110.359064)//经度
                .form("loc_time",System.currentTimeMillis()/1000)//定位时间戳,精确到秒
                .form("coord_type_input","bd09ll")//返回坐标体系
                .form("speed",10.23)//速度
                .form("direction",15)//方向
                .execute().body();

        System.out.println(body);
    }

7、批量添加轨迹点:

    //    批量上传轨迹点
    @Test
    public  void testEntityaddpoints(){
        String url = "https://yingyan.baidu.com/api/v3/track/addpoints";

        List<Object> pointList = new ArrayList<>();
        pointList.add(MapUtil.builder().put("entity_name","route_1_1002")
                .put("latitude",21.281264)//纬度
                .put("longitude",110.363017)//经度
                .put("loc_time",System.currentTimeMillis()/1000)//定位时间戳,精确到秒
                .put("coord_type_input","bd09ll")//返回坐标体系
                .put("speed",10.23)//速度
                .put("direction",15).build());//速度

         pointList.add(MapUtil.builder().put("entity_name","route_1_1001")
                .put("latitude",21.284649)//纬度
                .put("longitude",110.377749)//经度
                .put("loc_time",System.currentTimeMillis()/1000)//定位时间戳,精确到秒
                .put("coord_type_input","bd09ll")//返回坐标体系
                .put("speed",10.23)//速度
                .put("direction",15).build());//速度

//        创建实体
        String body = HttpRequest.post(url)
                .form("ak",ak)
                .form("service_id",234098)
                .form("point_list", JSONUtil.toJsonStr(pointList))
                .execute().body();

        System.out.println(body);
    }

 8、轨迹上传: 

    //    上传轨迹   为一个entity上传一个轨迹点 (模拟用户骑行操作)
    @Test
    public  void testEntityaddpoint2(){
        String url = "https://yingyan.baidu.com/api/v3/track/addpoint";

        String point="110.352982,21.269002|110.349961,21.27452|110.353396,21.275264|110.354387,21.275329|110.358572,21.280737";
//循环操作:  以|进行分割
        StrUtil.split(point,'|').forEach(pointStr ->{
//           以,进行分割
            String[] splitStr = StrUtil.splitToArray(pointStr,',');
            //        创建实体
            String body = HttpRequest.post(url)
                    .form("ak",ak)
                    .form("service_id",2340**)
                    .form("entity_name","route_1_1003")
                    .form("latitude", Convert.toDouble(splitStr[1]))//纬度
                    .form("longitude",Convert.toDouble(splitStr[0]))//经度
                    .form("loc_time",System.currentTimeMillis()/1000)//定位时间戳,精确到秒
                    .form("coord_type_input","bd09ll")//返回坐标体系
                    .form("speed",10.23)//速度
                    .form("direction",15)//速度
                    .execute().body();
            System.out.println(body);

            try {
                Thread.sleep(RandomUtil.randomInt(5,30) * 1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        });
        
    }

9、查询轨迹: 

//    查询轨迹里程
    @Test
    public  void testEntitygettrack(){
        String url = "https://yingyan.baidu.com/api/v3/track/gettrack";
//查询在哪个时间段
        Long startTime = DateUtil.parse("2022-08-19 00:00:00").getTime()/1000;
        Long endTime = DateUtil.parse("2022-08-19 23:59:59").getTime()/1000;
//        创建实体
        String body = HttpRequest.get(url)
                .form("ak",ak)
                .form("service_id",2340**)
                .form("entity_name","route_1_1003")
                .form("start_time",startTime)//开始时间
                .form("end_time",endTime)//结束时间
                .form("is_processed",1)//是否纠偏
                .execute().body();

        System.out.println(body);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值