如何开始使用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]];
- 如果应用程序已经在后台运行,当用户点击通知时,如何获得推送通知的有效载荷?
- 检测对UIWebView的滚动视图的contentSize的更改
- 在Xcode 6.0中删除启动屏幕
- 处理高分辨率显示器(主要是iOS视网膜显示器)的高分辨率网页图像的正确方法是什么?
- 需要使用Objective C将新键和值添加到Plist中?
- 用MKMapView显示当前用户位置?
- XCTest:捆绑“目标testing”无法加载,因为它的可执行文件无法find
- UINavigationControllerDelegate的didShowViewController方法被调用了两次
- iCloud键值存储同步问题(未调用NSUbiquitousKeyValueStoreDidChangeExternallyNotification)