上报到指定轨迹 最后更新时间: 2021年01月22日
开启轨迹上报时仅提供了服务(service id)和终端(terminal id),而没有指定要将轨迹点上报到哪个轨迹上,这种上报方式叫做散点上报,所有轨迹点直接关联到终端,不属于任何一个轨迹(track id)。
这部分将在此基础上说明如何创建轨迹、如何将轨迹点上报到指定轨迹上。
第 1 步,创建轨迹(track id)
要将轨迹点上报的指定的轨迹上,首先需要创建一个轨迹(track id),得到新创建轨迹的轨迹(track id)信息用于开启轨迹上报服务。
每个轨迹(track id)都属于某个终端(terminal id),因此创建时需要指定服务(service id)及终端(terminal id)信息。
如果您希望后续每次上报轨迹点时,都上报到之前创建的某条轨迹上,那么您在创建轨迹后,应该想办法记录下轨迹(track id)信息,以便后续使用。
//创建轨迹
AMapTrackAddTrackRequest *request = [[AMapTrackAddTrackRequest alloc] init];
request.serviceID = self.trackManager.serviceID;
request.terminalID = self.trackManager.terminalID;
[self.trackManager AMapTrackAddTrack:request];
- (void)onAddTrackDone:(AMapTrackAddTrackRequest *)request response:(AMapTrackAddTrackResponse *)response
{
//创建轨迹成功,开始采集
self.trackID = response.trackID;
}
- (void)didFailWithError:(NSError *)error associatedRequest:(id)request {
if ([request isKindOfClass:[AMapTrackAddTrackRequest class]]) {
//创建轨迹失败
}
}
第 2 步,开启轨迹上报时,指定轨迹id
self.trackManager.trackID = self.trackID;
[self.trackManager startGatherAndPack];