地理围栏 iOS 6

2023-12-01

我正在创建一个应用程序,告诉用户他们是否靠近目的地。 我正在计算之间的距离currentLocation和目的地。我正在里面做计算didUpdateLocations。它正在工作,但我已经看到有一些方法可以处理这个问题,而无需进行任何数学计算。

我正在注册该区域CLLocationManager;然而这些方法似乎didExitRegion and didEnterRegion没有被调用。

以下是我注册区域的代码部分:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
    [self.locationManager startUpdatingLocation];
    [self.mySearchBar resignFirstResponder];
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];

    self.distToRemind = 0;

    [worldMap removeAnnotations:[worldMap annotations]];
    NSLog(@"executou de primeira");

    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
        [geocoder geocodeAddressString:[self.mySearchBar text] completionHandler:^(NSArray *placemarks, NSError *error)
         {
             CLPlacemark *placemark = [placemarks lastObject];

             //test
             //DefaultAnnotation *annot = [[DefaultAnnotation alloc] initWithCoordinate:placemark.location.coordinate andTitle:@""];
             CLRegion *newRegion = [[CLRegion alloc] initCircularRegionWithCenter:placemark.location.coordinate radius:10.0 identifier:@"RegionBoundary"];

             DefaultAnnotation *regionAnnotation = [[DefaultAnnotation alloc] initWithCoordinate:newRegion.center andTitle:@""];

             [self identifyPlacemark:placemark andSetAnnotation:regionAnnotation];

             MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(regionAnnotation.coordinate, 250, 250);


             [worldMap addAnnotation:regionAnnotation];
             [worldMap setRegion:region animated:YES];

             [self.locationManager startMonitoringForRegion:newRegion];

             if (self.boolPushButtonTapped) {
                  [self pushButtonTapped];
             }
         }
         ];
}

我在这里做错了什么吗?


好的,在 iOS 中使用区域监控功能时需要记住一些事项。

  • 无论您将初始半径设置为多少,区域都将默认为最小尺寸。一位 Apple 工程师告诉我,对于支持 GPS 的设备来说,这个值是 100M。 450M,适用于支持区域监控的仅 Wifi 设备(iPad 3 和新的 iPod Touch)
  • 您可以监控的区域是有限的。单个设备上可以监控的总数是有限的。一位 Apple 工程师再次告诉我,大约有 100 个地区。使用委托方法来确保您的区域添加得好还是坏。
  • 区域非常有用,并且对电池寿命的影响很小。他们还在状态栏中获得自己的位置图标。 (紫色空心位置箭头)
  • 它们的工作方式与其他位置 API 非常相似,您需要正确响应委托方法以解释正在发生的操作。

您的代码看起来不错,但缺少围绕您的逻辑CLLocationManagerDelegate。如果没有适当的委托来处理回调,您可能会错过回调(-didExitRegion/-didEnterRegion).

根据我的经验,我创建一个单例类来处理所有位置管理器委托方法。请务必注册以收听他们的声音。如果您包含更多有关这些委托调用的代码,我很乐意为您提供更多帮助。有很多教程应该记录如何正确设置它们。祝你好运。

*注:我今年在 WWDC 上与一位位置工程师讨论了围绕最小区域大小和区域数量的许多未知因素。我可以确认最小区域大小为 100,但不能确认最大区域数。我目前还没有这个需求。

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

地理围栏 iOS 6 的相关文章

  • iOS 解决方案仅当图像尚未使用 SDWebImage 缓存在内存中时才加载带有动画的图像

    我已经为这个问题苦苦挣扎了几天 以前我使用 AFNetworking 类别来加载和缓存图像 但它的回调中没有提供缓存类型 所以我过去常常在每个控制器中跟踪哪些图像已经加载 我浏览了 SDWebImage 它提供了我正在寻找的东西 SDIma
  • 尝试从独立的 Apple Watch 应用发出网络请求

    当应用程序是独立应用程序时 Apple Watch 是否无法进行网络通话 即使手表已连接到 iPhone 我正在使用新的独立应用程序目标 它没有附带可以发出 WatchConnectivity 请求的配对 iOS 应用程序 我十有八九收到
  • WebGL iOS 渲染为浮点纹理

    我正在尝试在 iOS Safari 上的 WebGL 中渲染浮点纹理 而不是在本机应用程序中 我已经设法让 iOS 读取手动 例如从 JavaScript 创建的浮点纹理 但是当我创建浮点类型的帧缓冲区并使用 GPU 渲染到其中时 它不起作
  • 在 Interface Builder 中的资产目录上使用图像

    是否可以直接在界面生成器上使用添加到资产目录中的图像 这是怎么做到的 在 UIImageView 属性上 我看不到任何引用资产目录上任何图像的选项 Import the images into the xcassets folder 单击右
  • iOS 内存警告

    我正在尝试使用从 Parse 数据库下载的图像填充集合视图 但我收到内存警告 然后偶尔崩溃 有谁知道其他应用程序如何设法呈现这么多图像而不崩溃 有人可以告诉我如何优化我已有的东西吗 这是所有相关代码 https gist github co
  • 为了支持 iPhone 5 的更长屏幕,需要检查什么? [复制]

    这个问题在这里已经有答案了 可能的重复 iPhone 5屏幕尺寸如何处理 https stackoverflow com questions 12396545 how to deal with iphone 5 screen size iP
  • 在WKWebview中设置useragent

    如何在 WKWebView 中设置自定义用户代理字符串 我正在尝试嵌入我的应用程序的版本 以便我的服务器端可以看到可用的功能 我找到了以下方法 let userAgent MyApp 1 33 7 request setValue user
  • 如果 NSExtensionActivationRule 设置为仅音频,则共享扩展不会出现在有功能的应用程序中

    我正在尝试创建一个共享扩展 用户可以从任何有能力的应用程序上传她的录音 该文档甚至有一个简单的示例 请参阅声明共享或操作扩展支持的数据类型 https developer apple com library content document
  • iOS 对 Google 云消息传递的支持

    我在谷歌的开发者控制台中看到 GCM 允许为 iOS 生成 API 密钥 我在网上搜索了有关如何在 iOS 应用程序中通过 GCM 实现推送通知的任何类型的文档 但没有找到答案 真的有可能在 iOS 应用程序中使用 GCM 实现推送通知 j
  • 下标:使用字符串枚举访问我的字典值

    我想做类似的事情 使用字符串枚举访问我的字典值 我试图重载字典的下标但没有成功 访问字典 let district address JsonKeys district 其中 JsonKeys 是 enum JsonKeys String c
  • XCode 调试 - 我可以绕过反汇编代码的单步执行吗

    调试项目时 在 XCode 中设置断点后 我将开始单步执行代码 然后我会遇到反汇编代码 我认为这些代码是对没有可用源代码的各种框架的调用 这是一个正确的假设吗 有没有一种方法 可能通过我尚未找到的项目设置 来抑制此汇编代码的显示 而不必单步
  • 在两个数字之间设置 UILabel 文本动画?

    我是 iPhone 和 Mac 编程新手 之前为 Windows 开发过 我有一个问题 我如何制作动画text的财产UILabel两个数字之间 例如从5 to 80以 Ease Out 风格 是否可以与CoreAnimation 我已经在谷
  • 如何比 CGContextStrokePath 更快地渲染线条?

    我正在使用 CGContextStrokePath 绘制约 768 个点的图表 问题是 每一秒我都会得到一个新的数据点 从而重新绘制图表 目前 这个已经很繁忙的应用程序占用了 50 的 CPU 图形绘制是在UIView 中的drawRect
  • 以编程方式更改 UISlider 的范围

    如何以编程方式设置 UISlider 的最小最大范围 例如 虚拟代码 UISlider slider UISlider alloc init slider min 3 slider max 3 EDIT 所以我有以下内容 sl minimu
  • UIWebView 如何检测 被点击

    我知道下面的方法可以检测链接元素点击 但我想知道是否UIView可以检测是否img元素被点击 BOOL webView UIWebView webView shouldStartLoadWithRequest NSURLRequest re
  • NSPredicate 使用 RLMResults 作为参数

    我试图通过使用 NSPredicate 进行过滤来获取两组 Realm 数据 并且是不同的对象 之间的差异 但存在一个我无法理解的错误 我的代码 RLMResults topStories KFXTopStory allObjects NS
  • 以编程方式添加带有自动布局的 UISLider

    我正在尝试以编程方式将 UISlider 添加到我的视图中 包括约束 以便其宽度适应整个屏幕宽度 这是我到目前为止得到的 2 Add UISlider self slider UISlider alloc init self view ad
  • iOS 中的词干 - 不适用于单个单词

    我在用NSLinguisticTagger用于词干提取 我能够获得句子中单词的词干 但无法获得单个单词的词干 以下是我正在使用的代码 NSString stmnt i waited NSLinguisticTaggerOptions opt
  • 我正在寻找 GCDAsyncUdpSocket 上的一些示例,但发现没有一个有效

    接收数据从未被调用过 我编写了这个由我的主线调用的 swift 类UI视图控制器向接收消息的服务器发送消息 但当服务器发回响应时 客户端永远不会收到它 因为 didReceiveData 从未被触发 我一直在谷歌上搜索并查看文档 它说客户端
  • 使用排序函数按 NSDates 对数组进行排序[重复]

    这个问题在这里已经有答案了 我有一个名为的模型类Event import Foundation import MapKit public class Event let id Int var title String let status

随机推荐

  • Python 3 字符串转十六进制

    在 Python 2 中 这些都有效 gt gt gt hello encode hex 68656c6c6f gt gt gt b hello encode hex 68656c6c6f gt gt gt u hello encode h
  • x87 中的扩展(80 位)双浮点,而不是 SSE2 - 我们不会错过它吗?

    我今天读到的是研究人员发现 NVidia 的 Phys X 库使用 x87 FP 与 SSE2 显然 这对于速度胜过精度的并行数据集来说不是最佳选择 然而 文章作者继续引用 随着 2000 年底 P4 的推出 Intel 开始不鼓励使用 x
  • 从另一个运行 FTP 下载的线程更新 PyQt 进度

    我想访问进度条 位于Ui MainWindow class setMaximum 来自另一个类 线程 DownloadThread class 我尝试制作DownloadThread 类继承自Ui MainWindow DownloadTh
  • 我们可以使用 Windows 容器将 asp.net mvc 4 应用程序部署到 docker 吗?

    我最近看到的所有演示都是面向Asp net core 我不确定它的稳定性和功能如何 因为它没有包含所有asp net功能 因为Windows server 2016支持容器 和docker 我们应该能够部署 ASP NET MVC 4 0
  • 由于 FirebaseInstanceId.getInstance().getToken() 已弃用,我现在应该使用什么方法[重复]

    这个问题在这里已经有答案了 我想知道现在 getToken 已被弃用 获取 Firebase 令牌以发送推送通知的正确方法是什么 更新的答案 FirebaseInstanceId 已弃用 但现在您可以使用FirebaseMessaging
  • 关于 DOM 元素的哪些信息可以让 JavaScript(在某种程度上)唯一地识别它? (例如,当它没有“id”时)

    这就是我想要做的 我有一个小书签 它正在查找当前页面 可以是任何站点 中的元素 并在匹配的元素上分派单击事件 我有那部分工作 但在某些情况下 没有任何内容会自动匹配 我希望能够显示 通过悬停它 应该激活哪个元素 然后将有关它的一些信息保存在
  • Go 中的网络爬虫

    我正在尝试在 Go 中构建一个网络爬虫 我想在其中指定最大并发工作人员数 只要队列中有可供探索的链接 它们就会一直工作 当队列中的元素少于工作人员时 工作人员应该大声喊叫 但如果发现更多链接 则恢复 我尝试过的代码是 const max w
  • 将外部脚本的结果返回到 VBA

    我正在努力将我们在 MS Word for Windows 中使用的宏移植到 OSX 该宏允许用户在 Word 中使用 LaTeX 生成方程式 并且必须向服务器发出 POST 请求并返回结果 这在 Windows 中运行良好Microsof
  • 如何在DIV之间添加空间?

    我有一个 WordPress 生成的页面 我想将 AdSense 放置在页面标题下方 参见图片https i stack imgur com DTOQB jpg 我想在标题和 AdSense 广告之间创建一些空白 我尝试在包含 AdSens
  • Objective C 发送 cookie 到 uiwebview

    我需要发送 cookie 以登录 UIWebView 但是当我加载网页时 cookie 尚未发送 我的代码是 CorreoViewController m void viewDidLoad super viewDidLoad self ti
  • 是否可以在 Android jar 中包含布局和其他资源?

    我正在构建一个 jar 以便其他开发人员可以使用我在他们的 Android 应用程序中创建的视图 我想知道是否可以在我的 jar 中使用布局资源 以便我可以构建视图的布局 或者是否需要以编程方式构建视图 同样 我可以在 jar 文件中包含图
  • Socket.io node.js,如何记录连接时间以避免或考虑页面刷新/多个套接字?

    到现在为止 我完全对socket io 套接字到底是什么等感到困惑 我需要做的就是将通过 id 作为 URL 参数 标识的两个用户连接到一个房间 定义为 URL 参数 如下所示 http www example com room1 user
  • 有两个条件的 INSERT INTO 或 UPDATE

    这个问题乍一看似乎很简单 但我只是没有找到合理的时间明智的解决方案 考虑一个具有以下特征的表 ID INTEGER PRIMARY KEY AUTOINCREMENT name INTEGER values1 INTEGER values2
  • 枚举Windows中特定类型的文件

    是否有一种本机 Windows API 方法来列出特定类型的所有文件 例如视频文件 最好使用内置索引 Windows 搜索使用的索引 澄清一下 我知道我可以使用基本的 FS API 递归地列出所有文件并按扩展名进行过滤 我想要一种更快的方法
  • Google Play 错误:SSL 错误处理程序漏洞和应用程序更新被拒绝

    apk 被拒绝后如何解决 Google Play 商店中出现的以下错误 您的 APK 因包含安全漏洞而被拒绝 这违反了恶意行为政策 SSL 错误处理程序 查看拒绝消息 它将指出有问题的类 如果你有一个WebViewClient 然后确保你实
  • 如何制作悬停按钮?

    我想制作一个 CSS 类 这样我就可以像这样使用它
  • 使用 ftplib 访问 FTP URL [重复]

    这个问题在这里已经有答案了 我在 Windows 中使用 python 和 ftplib 来访问 ftp5 xyz eu 处的文件夹 该文件夹是 ftp5 xyz eu 中 foo bar 文件夹中的 baz 所以 ftp5 xyz eu
  • 在Python中混合使用switch和rotate对数字进行排序

    先说明理由 切换 切换位置0和1的弹珠 旋转 将位置 0 的弹珠移动到位置 N 1 并将所有其他弹珠向左移动一格 下一个索引 如果有一个数字列表 1 3 0 2 开关 旋转 开关将对数字进行排序 3 1 0 2 1 0 2 3 0 1 2
  • 如何从
  • 标签获取值
  • 我是 React js 的初学者 需要一些帮助 我想从 a 获取值或数据 li 当你点击它时标记 我怎样才能做到这一点 clickOnMe function this setState myData event target value r
  • 地理围栏 iOS 6

    我正在创建一个应用程序 告诉用户他们是否靠近目的地 我正在计算之间的距离currentLocation和目的地 我正在里面做计算didUpdateLocations 它正在工作 但我已经看到有一些方法可以处理这个问题 而无需进行任何数学计算