如何开始使用Skobbler跟踪POI

这是我创build可跟踪的POI并开始POI跟踪的代码。

这个代码放在我要计算路线并开始导航之前

-(void)createTrackablePOIs { // Go through the route array and create POIs out of all added exits and locations if ([Constants shared].routeArray.count>2){ _trackablePOIs = [[NSMutableArray alloc] init]; for (int i=1; i<[Constants shared].routeArray.count-1; i++) { if ([[Constants shared].routeArray[i] isKindOfClass:[Exit class]]){ Exit *e = [Constants shared].routeArray[i]; SKTrackablePOI* poi = [[SKTrackablePOI alloc] init]; poi.poiID = e.idExit; poi.type = 1; poi.coordinate = CLLocationCoordinate2DMake(e.lat, e.lon); [self.trackablePOIs addObject:poi]; }else{ RoutePoint* rp = [Constants shared].routeArray[i]; SKTrackablePOI *poi = [[SKTrackablePOI alloc] init]; poi.poiID = rp.pointID; poi.type = 2; poi.coordinate = CLLocationCoordinate2DMake(rp.x,rp.y); [self.trackablePOIs addObject:poi]; } } NSLog(@"%d POIs created and added to array",_trackablePOIs.count); self.poiTracker = [[SKPOITracker alloc] init]; self.poiTracker.dataSource = self; self.poiTracker.delegate = self; // Create POI Tracking rules SKTrackablePOIRule *rule = [SKTrackablePOIRule trackablePOIRule]; rule.routeDistance = 5000; rule.aerialDistance = 5000; [_poiTracker setRule:rule forPOIType:1]; // Start POI tracking [_poiTracker startPOITrackerWithRadius:5000 refreshMargin:0.1 forPOITypes:@[@1,@2]]; } } -(NSArray*)poiTracker:(SKPOITracker *)poiTracker trackablePOIsAroundLocation:(CLLocationCoordinate2D)location inRadius:(int)radius withType:(int)poiType { return [self.trackablePOIs copy]; } - (void)poiTracker:(SKPOITracker *)poiTracker didDectectPOIs:(NSArray *)detectedPOIs{ [detectedPOIs enumerateObjectsUsingBlock:^(SKDetectedPOI *detectedPOI, NSUInteger index, BOOL *stop){ NSLog(@"Detected: %@",[detectedPOI description]); }]; NSLog(@"POI detected"); } 

但POI委托方法从未被调用过。 无论我用可跟踪的POI规则玩了多less次。

另外还有一个问题,保证金的含义是什么

 [_poiTracker startPOITrackerWithRadius:5000 refreshMargin:0.1 forPOITypes:@[@1,@2]];