百度鹰眼--自定义属性

在使用鹰眼的时候,发现系统提供的属性有时并不能满足我们实际需要,这时就需要使用自定义属性了。下面重写OnCustomAttributeListener ()如下 :

OnCustomAttributeListener customAttributeListener = new OnCustomAttributeListener() {
            @Override
            public Map<String, String> onTrackAttributeCallback() {
                Map<String, String> map = new HashMap<>();
                String trace_flag = String.valueOf(CommonUtil.getCurrentTime());//轨迹分段标识
                map.put("trace_flag", trace_flag);
                return map;
            }

            @Override
            public Map<String, String> onTrackAttributeCallback(long l) {
                return null;
            }
        };


调用这个事件:

trackApp.mLBSTraceClient.setOnCustomAttributeListener(customAttributeListener);

在查询轨迹的onHistoryTrackCallback中,我们来获取自定义的属性:

List<TrackPoint> points = response.getTrackPoints();
                    if (null != points) {
                        for (TrackPoint trackPoint : points) {
                            if (!CommonUtil.isZeroPoint(trackPoint.getLocation().getLatitude(),
                                    trackPoint.getLocation().getLongitude())) {
                                trackPoints.add(MapUtil.convertTrace2Map(trackPoint.getLocation()));

                                Log.e("LHC", "entityName:"+trackApp.entityName+",attr:"+trackPoint.getColumns().get("trace_flag")+",locationMsg:"+trackPoint.toString());

                            }
                        }

注意:trackPoint.getColumns().get("trace_flag")就是获取属性的值

这样在代码中设置自定义属性就完成了。下面登录百度地图开发平台,进入“轨迹管理平台”,找到相应的serivce_id,点击“设置”,如下图:

image.png

在设置页面选择“trace属性字段”,然后进行属性自定义(要和代码中的属性名称一致)。这样就完成了属性的自定义。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容