上报到指定轨迹 最后更新时间: 2021年01月22日
在上一章节“开启轨迹上报”部分,仅提供了服务id和终端id,而没有指定要将轨迹点上报到哪个轨迹上,这种上报方式叫做散点上报,所有轨迹点直接关联到终端,不属于任何一个轨迹。这部分将在此基础上说明如何创建轨迹、如何将轨迹点上报到指定轨迹上。
第一步,创建轨迹
要将轨迹点上报的指定的轨迹上,首先需要创建一个轨迹,得到新创建轨迹的轨迹id用于开启轨迹上报服务。每个轨迹都属于某个终端,因此创建时需要指定服务id及终端id。
如果您希望后续每次上报轨迹点时,都上报到之前创建的某条轨迹上,那么您在创建轨迹后,应该想办法记录下轨迹id,以便后续使用。
aMapTrackClient.addTrack(new AddTrackRequest(serviceId, terminalId), new OnTrackListener() {
...
@Override
public void onAddTrackCallback(AddTrackResponse addTrackResponse) {
if (addTrackResponse.isSuccess()) {
trackId = addTrackResponse.getTrid();
…
} else {
Toast.makeText(TrackServiceActivity.this, "网络请求失败," + addTrackResponse.getErrorMsg(), Toast.LENGTH_SHORT).show();
}
}
});
第二步,开启轨迹上报时,指定轨迹id
在开启轨迹上报前,将轨迹id设置给启动服务时提供的配置参数:TrackParam对象即可。
TrackParam trackParam = new TrackParam(serviceId, terminalId);
trackParam.setTrackId(trackId);
aMapTrackClient.startTrack(trackParam, onTrackLifecycleListener);