百度地图-鹰眼轨迹服务

  • Post author:
  • Post category:其他


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);
    }



版权声明:本文为m0_61940426原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。