如何开始使用 Skobbler 跟踪 POI

2023-12-06

这是我用于创建可跟踪 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 规则。

另外,还有一个问题,margin 到底代表什么?

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

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何开始使用 Skobbler 跟踪 POI 的相关文章

  • 如何修复此 YCrCb -> RBG 转换公式?

    我使用的公式来自这个问题 https stackoverflow com questions 8838481 kcvpixelformattype 420ypcbcr8biplanarfullrange frame to uiimage c
  • 如何在IOS中使用“*”字符进行呼叫(拨号)?

    我希望用 字符来调用 例如 gt 711313 目前 我正在使用这段代码 NSString str NSString stringWithFormat tel tmp UIApplication sharedApplication open
  • 在 Swift 中使用 Obj-C 完成块

    在 Objective C 中 我有一个完成块类定义为 File h typedef void MYCompletionBlock BOOL success NSDictionary result NSError error 然后 在 Sw
  • 如何声明仅调试语句

    在 C 中 我可以使用以下代码来获得仅在调试构建期间执行的代码 我如何在 Xcode 中执行相同的操作 if DEBUG etc etc endif 您可以使用 ifdef DEBUG endif 你需要添加DEBUG 1到调试配置设置中项
  • Phonegap - cordova 在 Android 和 iOS 设备上延迟且缓慢

    我刚刚开始使用 zend studio 开始我的第一个 PhoneGap 项目 但是 在我构建并部署它之后 该应用程序非常慢 Android 和 iOS 均可 滚动滞后 如果我按下按钮 转到下一页的速度很慢 有什么办法可以提高它的性能吗 提
  • 锁定时 AVAudioPlayer 在 iPhone 5 中不播放音频

    使用 AVAudioPlayer 我尝试在 iphone 播放器播放时播放声音 当设备锁定时也是如此 问题是 在 iPhone 4s ios 7 中 效果很好 但在带有 6 和 7 ios 的 iPhone 5 上没有任何反应 In the
  • MPMoviePlayerViewController,删除 Quicktime 符号/添加背景图像?

    我有一个播放音频的 MPMoviePlayerViewController 我想删除 Quicktime 徽标和 或向播放器添加自定义背景图像 但保留播放控件 我发誓我在 iOS 5 之前就已经这样做过 但我无法重新弄清楚 我尝试过的事情
  • swift:移动动画

    我在故事板中有 viewController 还有4个正方形 我想将我的方块放在视图中 首先我想显示两个正方形 如果我按下按钮 我希望我的红色 2 个方块向左移动 然后显示接下来的 2 个蓝色方块 就像这部动画 我需要创建一个scrollV
  • 在 Objective-C 中比较两次的最好/最简单的方法是什么?

    我有一个时间的字符串表示形式 例如 11 13 AM 这是使用 NSDateFormatter 和 stringFromDate 方法生成的 我想将此时间与当前时间进行比较 但是当我使用 dateFromString 方法将字符串转回日期时
  • iOS - 检测应用程序是否正在从 Xcode 运行 [重复]

    这个问题在这里已经有答案了 我试图根据代码是否通过 USB Xcode 调试 运行或在从应用程序商店下载的生产模式 发布 运行来启用 禁用部分代码 我知道检查它是否正在运行DEBUG or RELEASE像这样的模式 ifdef DEBUG
  • iOS 应用程序崩溃 com.apple.root.background-qos

    在应用程序中发现应用程序崩溃 我怀疑这可能是由于 firebase 观察者的代码而发生的 由于在用户案例中 用户可以从一个事件转到用户配置文件 参与此事件 然后从用户配置文件可以返回到此事件 我需要一个 ref 句柄来删除特定的观察者 因此
  • 使用 popToRootViewController 时我丢失了导航栏

    我有一个 iOS 应用程序 其中主屏幕是 UICollectionViewController 从集合视图中选择项目时 视图将推送到该项目的详细信息视图 在细节视图中 我构建了一个从侧面移出的抽屉 滑块 为了让视图看起来像我想要的那样 我隐
  • 如何在 Swift 中将 Int 转换为字符

    我在这里挣扎了十多分钟 失败了 我屈服了 我需要在 Swift 中将 Int 转换为 Character 但无法解决它 Question 你如何转换 cast an Int integer to a Character char 在斯威夫特
  • UITextField 中光标闪烁,但键盘不出现

    我得到了一个带有文本字段的简单详细视图 在详细的viewController中我写了这段代码 void viewDidAppear BOOL animated self textField becomeFirstResponder NSLo
  • 自调整大小的集合视图在 iOS 15 中进入递归循环

    我有一个自动调整大小的集合视图 当我调用 super layoutSubviews 时 我的应用程序崩溃 因为集合视图进入递归更新循环 这在 iOS 14 及更低版本中运行良好 但从 iOS 15 开始就观察到了这一点 class Dyna
  • 从 Xcode iOS 项目运行 swift 脚本作为构建阶段

    这是一个简单的快速脚本 usr bin env xcrun swift import Foundation let task NSTask task launchPath bin echo task arguments farg1 arg2
  • Google Maps iOS SDK:地图上东西点之间的距离

    如何计算地图东点和西点之间的距离 以米为单位 假设用户更改了滚动地图的位置 然后我使用 mapView didChangeCameraPosition delegate 方法捕获移动 但我不知道如何计算距离 这是一个辅助函数 可用于计算两个
  • NSDate 休息 5 小时

    我运行以下代码 NSDate now NSDate 日期 NSLog now now 并得到 2011 09 16 16 14 16 434 iSavemore 1229 7907 现在 2011 09 16 21 14 16 0000 如
  • MapKit 注释未显示在地图上

    我无法让 MKAnnotationViews 显示在 MapKit 的地图上 我正在使用 iOS 7 现在已经在论坛和网络上搜索了很多小时 尝试不同的示例和设置 下面我有 我认为 使其工作的最基本的设置 该应用程序包含一个 ViewCont
  • ios - ARKit - 如何创建旋转对象手势功能?

    我是 ARKit 新手 我想创建一个旋转对象的函数 这是我关于拖动和旋转对象的代码 Rotate object objc func rotateRecognized sender UIPanGestureRecognizer let sce

随机推荐

  • 在生成语句中格式化日期

    在 Pig 中 我有一个语句 基本上将日期附加到我生成的值中 Data FOREACH Input GENERATE CurrentTime FLATTEN group COUNT guid oas Cnt 输出给了我日期2013 05 2
  • 正则表达式匹配-Java

    我正在从以下格式的文件中获取输入 int1 int2 int3 int4 现在我想在我的Java代码中读取int1 int2 int3和int4 我怎样才能用java中的正则表达式匹配来做到这一点 谢谢 String ints 2 3 4
  • 将服务器日志记录到一个文件,将 SQL 日志记录到另一个文件

    我想使用 Log4J 将所有服务器相 关日志 例如启动和关闭 记录到一个文件 并将所有 Hibernate SQL 相关日志记录到另一个文件 我正在尝试过滤所有不相关的日志以仅查看 SQL 查询 如果有办法实现的话 有什么想法或建议吗 Th
  • 使用 MVC 和 jQuery 进行内联客户端验证

    我设置了一个简单的示例来显示 jquery UI 对话框中的表单 并希望在该表单上启用内联客户端验证 然后我将脚本添加到我的母版页中 assets js jquery 1 4 3 min js gt gt assets js jquery
  • 带有 roboguice 抛出异常的简单 Android 应用程序

    我有一个非常简单的应用程序 可以运行 但是当我添加 roboguice 时 它 会抛出异常 java lang RuntimeException 无法实例化应用程序 com MyFirstApp MyFirstApplication jav
  • 如何将 Roman Nuriks Wizard Pager 审核中的数据放入数据库?

    好吧 我知道以前已经问过这个问题 但问题和答案都对我的情况没有帮助 我需要做的只是从向导末尾的审阅页面获取所有数据并将其放入我的 SQLite 数据库中 以便我将来可以在我的应用程序中使用它 我什至不确定在这种情况下我应该上哪门课 我真的希
  • Android无法从ListView Row中按钮的onClick中找到方法

    我有一个从自定义适配器填充的 ListView 每行有 1 个按钮 在 xml 中 按钮已传递 onClick 属性 我只有 xml 没有设置任何 OnClickListeners 另请注意 public void myMethod Vie
  • POSIX 正则表达式 - 零个或一个括号表达式匹配?

    我正在尝试使用正则表达式来解析源文件并搜索以 LOG 一词开头的 C 程序中的函数 后面可能会或可能不会出现类 1248AFM 中的第二个字符 然后后面跟着一个左括号 这是在 Windows 下使用 mingw 开发的 但最终将使用 gcc
  • YouTube API v3 错误:403(playlistItemsNotAccessible)

    这是我在 stackoverflow 上的第一篇文章 请让我知道我是否应该重新表述问题和 或提供有关该问题的更多详细信息 使用上提供的 javascript 示例https developers google com youtube v3
  • WebGL/OpenGL:性能比较

    出于教育目的 我需要比较 WebGL 与 OpenGL 的性能 我有两个用 WebGL 和 OpenGL 编写的等效程序 现在我需要获取它们的帧速率并进行比较 在 JavaScript 中我使用requestAnimationFrame动画
  • 如何从各个部分(例如文件夹路径、名称和扩展名)创建文件的完整路径?

    我需要将文件路径名传递给模块 如何从目录名 基本文件名和文件格式字符串构建文件路径 该目录在调用时可能存在也可能不存在 例如 dir name home me dev my reports base filename daily repor
  • 迭代时浮点数不精确

    我有一个函数 可以根据范围内的值计算 3d 空间中的点 0 1 我面临的问题是 二进制浮点数不能精确表示 1 函数中计算的数学表达式能够计算出以下值 t 1 0 但该值永远不会被函数接受 因为它在计算之前检查是否符合范围 curves er
  • 如何使用反应嵌入菜单循环

    我正在尝试做什么 学习为我的discord py 机器人制作一个合适的帮助菜单ctx message author根据给出的反应对消息做出反应 机器人会检查他们是否已做出反应 然后编辑消息 如果ctx message author如果不反应
  • 将“Position:fixed”div设置为与父div(flexbox项)相同的宽度

    如何使 NavWrapper 与父级的宽度相同 我希望这些链接位于固定位置 即使主要部分溢出 我知道如何在没有 Flex 的情况下做到这一点 有没有纯 CSS 的方法可以做到这一点 body padding 0 margin 0 wrapp
  • 如何从 $.getJSON 函数返回变量

    我想回来StudentId在其他地方使用scope of the getJSON j getJSON url data function result var studentId result Something use studentId
  • 如何使用libsvm进行文本分类?

    我想用 SVM 编写一个垃圾邮件过滤器程序 我选择 libsvm 作为工具 我收到了 1000 封好指甲和 1000 封垃圾邮件 然后我将它们分类为 700 封 good train 邮件 700 封 spam train 邮件300 封
  • 使用密度图对特定区域进行着色 - ggplot2

    我有一个关于数据可视化的问题ggplot2 我试图弄清楚如何在密度图中遮蔽特定区域 我用谷歌搜索了很多 并尝试了所有解决方案 我的代码是 original 12 lt data frame sum rnorm 100 30 5 sex c
  • 使用 PHP CLI 执行路由(控制器/操作)并检测 CLI 请求

    Laravel 4 中有没有办法使用 PHP CLI 运行我的控制器 操作 如果请求来自 CLI 我想扩展一个控制器 操作来执行替代操作 那么有没有办法将该请求识别为 CLI 请求 Laravel 文档这个网站似乎表明有一个方法 Reque
  • 下面的宏可能会给应用程序带来什么问题?

    下面的宏会带来问题吗 define sq x x x 如果是 那么如何以及为什么 请帮忙 是的 它可能会带来问题 除了宏根本不尊重命名空间这个明显的事实 这意味着你不能调用其他任何东西 sq 请尝试以下操作 int result sq 4
  • 如何开始使用 Skobbler 跟踪 POI

    这是我用于创建可跟踪 POI 并启动 POI 跟踪的代码 该代码放置在我计算路线并开始导航之前 void createTrackablePOIs Go through the route array and create POIs out