在使用鷹眼的時(shí)候识啦,發(fā)現(xiàn)系統(tǒng)提供的屬性有時(shí)并不能滿足我們實(shí)際需要负蚊,這時(shí)就需要使用自定義屬性了。下面重寫OnCustomAttributeListener ()
如下 :
OnCustomAttributeListener customAttributeListener = new OnCustomAttributeListener() {
@Override
public Map<String, String> onTrackAttributeCallback() {
Map<String, String> map = new HashMap<>();
String trace_flag = String.valueOf(CommonUtil.getCurrentTime());//軌跡分段標(biāo)識(shí)
map.put("trace_flag", trace_flag);
return map;
}
@Override
public Map<String, String> onTrackAttributeCallback(long l) {
return null;
}
};
調(diào)用這個(gè)事件:
trackApp.mLBSTraceClient.setOnCustomAttributeListener(customAttributeListener);
在查詢軌跡的onHistoryTrackCallback
中,我們來(lái)獲取自定義的屬性:
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")
就是獲取屬性的值
這樣在代碼中設(shè)置自定義屬性就完成了颓哮。下面登錄百度地圖開(kāi)發(fā)平臺(tái)家妆,進(jìn)入“軌跡管理平臺(tái)”,找到相應(yīng)的serivce_id
,點(diǎn)擊“設(shè)置”冕茅,如下圖:
image.png
在設(shè)置頁(yè)面選擇“trace屬性字段”伤极,然后進(jìn)行屬性自定義(要和代碼中的屬性名稱一致)。這樣就完成了屬性的自定義姨伤。