MKMapView 的用户位置在启动或恢复时错误

2023-11-27

当我重新启动我的应用程序或在很长一段时间后恢复时,MKMapView 用户位置的概念是错误的,并显示我在海中央。

我正在使用以下代码:

self.mapView.centerCoordinate = self.mapView.userLocation.location.coordinate;
[mapView setCenterCoordinate:self.mapView.userLocation.location.coordinate zoomLevel:ZOOM_LEVEL animated:YES];

发生在应用程序漫长的恢复或全新的开始之后......


这是预期的行为:iPhone 并不总是使用 GPS 跟踪用户位置(这会消耗大量电池)。因此,一旦地图显示出来,MKMapView实例显示它所知道的最后一个“最佳”用户位置,然后通过激活跟踪来提高准确性(这是一个无缝过程,您不必关心它)。

您可以监控何时MKMapView通过实施更新用户在地图上的位置MKMapViewDelegate协议。只需实施:

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation      {
    CLLocationAccuracy accuracy = userLocation.location.horizontalAccuracy;
    if (accuracy ......) {
    } 
}

(更多信息来自苹果文档here )

我的示例中的上面的代码检查地图视图当前显示的位置的准确性并做出相应的反应。

[EDIT]
如果一开始在海中央显示用户位置确实让您感到困扰,您可以隐藏用户位置,直到获得足够准确/新鲜的位置。
为此,请设置showsUserLocation的财产MKMapView to NO首先直到您获得足够准确的位置(感谢之前的委托回调),然后将其设置为YES.
通过这样做,您将避免显示不准确或太旧而无法显示的位置(有一个timestamp财产在CLLocation检查它是否是旧位置)

注意:你don't必须创建一个CLLocationManager在您这边的实例中,MKMapView 在内部创建一个并发布通过此委托选择器接收的位置。

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

MKMapView 的用户位置在启动或恢复时错误 的相关文章

  • 使用 json 向 RESTful WCF 发送 Post 请求

    我已经尝试了每种组合来发送请求 以从 jQuery 向 RESTful WCF 发送 POST 请求 有人可以模仿并使其发挥作用吗 代码在这里 http pastebin com Ua97919C http pastebin com Ua9
  • UIScrollView - 启用分页后,我可以“更改”页面宽度吗?

    将滚动视图 将 pagingEnabled 设置为 YES 将页面宽度设置为滚动视图边界以外的其他值的最简单方法是什么 让我举个例子 假设我有一个包含 10 个项目的滚动视图 每个项目的宽度为 150 像素 而我的滚动视图的宽度为 300
  • iphone NSDate 转换问题

    在我的 facebook 图表 Api 中 我正在获取这些数据 来自杰森 updated time 2011 05 17T14 52 16 0000 我正在使用此代码将其转换为有效的日期格式 NSDateFormatter df NSDat
  • 架构armv7的重复符号

    尝试在我现有的应用程序中使用 Layar SDK 时出现以下错误 我该如何解决这个问题 Ld Users pnawale Library Developer Xcode DerivedData hub afxxzaqisdfliwbzxbi
  • 使用 MFMailComposeViewController 类从 iPhone 应用程序发送带有 IMG 标签的 HTML 电子邮件

    我正在使用 MFMailComposeViewController 类从我的 iPhone 应用程序发送格式化的 HTML 电子邮件 我需要在电子邮件中包含图像 并且我在电子邮件正文中添加了 IMG 标签 IBAction shareWit
  • WhatsApp 显示警告“此项目无法共享。请选择其他项目。”对于 iOS 应用程序。

    我正在开发一个 iOS 应用程序 在该应用程序中 我有社交共享功能 并且社交共享功能使用深度链接来共享 URL 该网址共享对于所有应用程序都运行良好 除了WhatsApp 它会显示一个警报弹出窗口 此项目无法共享 请选择其他项目 以下是我的
  • iPhone 和加密库

    我想我必须在我的 iPhone 应用程序中使用加密库 我想问你有关苹果公司实施的加密货币出口政策的影响 我需要做一些额外的事情吗 例如填写表格等 1 如果我使用 MD5 进行哈希处理 2 如果我使用对称加密 Thanks EDIT 2009
  • 为什么 iPhone 上的纹理图像需要具有二维幂?

    我正在尝试解决 iPhone 上的闪烁问题 open gl es game 我有一些没有 2 维的图像 我将用具有适当尺寸的图像替换它们 但为什么尺寸需要是 2 的幂 大多数系统 甚至许多现代显卡 需要 2 的幂纹理的原因是 mipmap
  • CGImage/UIImage 在 UI 线程上延迟加载会导致卡顿

    我的程序显示一个水平滚动表面 从左到右平铺有 UIImageViews 代码在 UI 线程上运行 以确保新可见的 UIImageView 分配有新加载的 UIImage 加载发生在后台线程上 一切工作几乎都很好 除了每个图像变得可见时出现口
  • 核心数据 NSFetchRequest 还获取实体的子对象

    我是 iOS 开发和 Core Data 的新手 我有一个父 NSManagedObject class Units interface Properties NSManagedObject property nonatomic retai
  • 如何检查 BOOL 是否为空?

    有没有办法在将值分配给 BOOL 之前检查该值是否为 NULL Nil 例如 我在 NSDictionary 中有一个值可以是 TRUE FALSE NULL mySTUser current user following results
  • iphone:在 UIWebView 之上查看?

    我正在开发一个浏览器应用程序 并且 UIWebView 顶部有一个地址栏 在 MobileSafari 上 如果向下滚动 地址栏开始移动到顶部 移出屏幕 并且 UIWebView 不会滚动 只有当地址栏完全消失时 它才开始滚动 我也想在我的
  • 如何适配iPhone 4屏幕分辨率?

    根据Apple http www apple com iphone specs html iPhone 4 拥有新的 更好的屏幕分辨率 3 5 英寸 对角线 宽屏多点触控显示屏960 x 640 像素分辨率 326 ppi 这个小细节对我们
  • GMSMapView 中的倒多边形

    我必须在我的 iPhone 项目中使用 Google 地图 并且我正在使用 GMSPolygon 来绘制多边形 但是如何填充地图上除多边形内部之外的所有位置 就像下图一样 谢谢 我玩过你的问题 主要思想是用多边形填充整个地球 然后为您的特定
  • 用 UIView 像翻书一样翻页?

    我正在尝试在之间切换UIViews让它看起来就像你正在翻书的一页 The UIViewAnimationTransitionCurlUp如果我能让它向左或向右卷曲 那就非常接近了 这可能吗 我尝试过使用CATRansition但没有一种动画
  • 如何在 Apple Watch Extension/App 和 iOS App 之间建立通信通道

    我正在探索 WatchKit SDK 当我有 WatchKit 应用程序时 是否可以在 WatchKit 应用程序上从 iPhone 应用程序设置值 例如文本 设置 我可以从 iPhone 应用程序调用 WatchKit 应用程序扩展中的函
  • iPhone - 如何在矩形中间绘制文本

    有没有一种方法可以在矩形中间绘制文本 我可以找到各种对齐方式 但我尝试过的任何方法都不能将文本垂直居中在矩形中 有没有一种简单的方法可以做到这一点 或者有什么方法可以将矩形居中然后在其中绘制 我直接绘制到 CGContext 尝试使用 NS
  • 自定义 MKAnnotationView - 如何捕获触摸而不忽略标注?

    我有一个自定义 MKAnnotationView 子类 它完全按照我想要的方式显示视图 在那个视图中 我有一个按钮 我想捕获按钮上的事件来执行操作 这很好用 但是 我不希望标注被忽略或消失 基本上 触摸标注中的按钮将开始播放声音 但我想保留
  • 应用程序未通过协同设计验证?

    我在提交 iPhone 申请时遇到问题 我看到了一些类似的问题 但没有找到答案 当我存档项目并单击 验证 时 收到错误消息 应用程序未通过协同设计验证 签名无效 或者未使用 Apple 提交证书进行签名 我假设我在协同设计部分做错了什么 我
  • 按下表格视图单元格时更改视图?

    我需要帮助 当我的 tableView 的单元格被选择时 我希望该单元格转到它自己的页面 我不希望每个单元格都转到同一页面 我尝试使用 FirstFolderViewController first FirstFolderViewContr

随机推荐

  • Symfony/Doctrine - createQueryBuilder orderBy

    我有一个具有财产 预算 的 团队 实体 我只想打印团队属性 并且希望预算最大的团队出现在第一位置 第二位置 第三位置 DESC 但使用这段代码 它不起作用 我不明白为什么 索引动作 控制器 em this gt getDoctrine gt
  • 如何从 cv::Mat 转换为 CvArr?

    我花了很多时间搜索如何从 cv Mat 或 CvMat 转换为 CvArr 但没有任何收获 请帮助我 谢谢 Mat img imread C MyPic jpg CV LOAD IMAGE GRAYSCALE IplImage tmp im
  • 如何在opengl中绘制y轴或x轴的圆柱体

    我只想用opengl画一个圆柱体 我找到了很多样本 但它们都在 z 轴上绘制了圆柱体 我希望它们位于 x 或 y 轴上 我怎样才能做到这一点 下面的代码是在 z 方向绘制圆柱体的代码 我不想要它 GLUquadricObj quadrati
  • 检查 url 是否被缓存 webview android

    我使用 webview 加载 html 页面和 url 我只想在互联网可用或 url 内容由 Web 视图缓存时加载 url 如何检查 url 是否已缓存而不必创建自己的 缓存在某些外部路径上 WebSettings ws wv getSe
  • UART ISR Tx Rx 架构

    我让事情变得复杂了吗 我正在构建我的代码 以便通过 UART 从 8051 micro 与外围设备进行通信 外设响应主机的命令 一次只能响应一个命令 这是一个简单的发送和接收协议 tx1 rx1 tx2 rx2 tx3 rx3 每个 TX
  • xcode - “尝试使用已删除的函数” - 这是什么意思?

    我正在 Xcode 4 2 中编写 C 库 我的一个类将无法编译并出现此错误 尝试使用已删除的函数 没有具体说明它正在谈论什么功能 我不想在这里发布类代码 但是有人知道这个错误意味着什么吗 我对线程 C 11 也有类似的消息 事实证明 我向
  • SQL 中的动态 Like 语句

    我已经绞尽脑汁思考如何做到这一点有一段时间了 我知道这个网站上的一些天才会找到答案 基本上我正在尝试这样做 SELECT column FROM table WHERE table column LIKE string1 OR table
  • 使用接口作为分部视图的模型类型+数据注释

    我遇到的情况是 复杂的局部视图需要根据局部视图的使用位置进行不同的字段验证 我认为我可以通过使分部视图采用接口作为模型类型并基于该接口实现两个不同的 ViewModel 来解决这个问题 两个 ViewModel 中的数据注释会不同 然后 我
  • 删除如何处理指针常量性?

    我正在读这个问题删除常量指针并想了解更多关于delete行为 现在 根据我的理解 delete expression分两步进行 调用析构函数 然后释放内存 通常通过调用free 通过调用操作符删除 operator delete接受一个vo
  • 在 Yarn 集群上运行的 Spark 作业 java.io.FileNotFoundException:文件不存在,即使文件在主节点上存在

    我对 Spark 相当陌生 我尝试搜索但找不到合适的解决方案 我已经在两个机器上安装了 hadoop 2 7 2 一个主节点和另一个工作节点 我已经通过以下链接设置了集群http javadev org docs hadoop centos
  • 如何使用QTestLib模拟鼠标滚轮事件[Qt5]

    我很高兴使用QTestLib为我的编写测试Qt5基于小部件的用户界面 直到现在 当我试图找到一种模拟鼠标滚轮事件的方法时 似乎并不缺乏特性和便利功能 我看过官方文档 和官方示例但我似乎不知道如何模拟鼠标滚轮事件 这不存在吗 或者我错过了什么
  • 使用 jQuery 插件验证图像尺寸

    我有一个表单 其中验证发生在 jQuery 的验证插件中 我的表单包含两个元素 一个输入类型 文件和一个提交按钮 用户将选择一个图像 如果该图像小于 500 像素 则不会接受该图像 并应显示错误消息 我为此制定了一种新方法 称为宽度 但由于
  • Java 中的 0.0 和 -0.0 (IEEE 754)

    Java 与 IEEE 754 完全兼容 对吗 但我对java如何决定浮点加法和减法的符号感到困惑 这是我的测试结果 double a 1 5 double b 0 0 double c 0 0 System out println b a
  • Q流程问题,流程输出

    我想弄清楚 QProcess 的用途 我查看了 Qt 文档 但没有运气 http doc qt io qt 4 8 qprocess html 问题的例子 示例1 下面的代码有效 include
  • ApplePay iOS 错误 - 此设备无法付款

    将 ApplePay 与我的测试应用程序集成时 出现错误 该设备无法付款 我已经设置了一张要使用的卡 并在销售点终端上对其进行了测试 在那里工作得很好 应该工作 但没有 的代码行是 PKPaymentAuthorizationViewCon
  • 我如何在我的应用程序中共享 apk 文件(发送应用程序本身)

    我正在尝试使用此代码将我的应用程序 apk 文件发送到另一台设备 public static void sendAppItself Activity paramActivity throws IOException PackageManag
  • 如何在python中删除仅包含数字的单词?

    我有一些 Python 文本 由数字和字母组成 像这样的东西 s 12 word word2 从字符串 s 中 我想删除所有包含的单词只有数字 所以我希望结果是 s word word2 这是我的正则表达式 但它适用于字母表 即它用空格替换
  • 当工作区中有多个 xcode 项目时,如何将 cocoapods cordova 插件 src 链接到 .framework 头文件?

    独特的情况是 这是一个 Ionic 应用程序 通过 pod 引入未编译的插件源 问题是编译时 插件标头和实现找不到 framework 的标头 实现 演示 Cordova 应用程序找到 framework 但它们仅位于单个项目中 我已经尝试
  • 计算numpy数组的周长

    我想计算给定 numpy 数组结构的周长 周长是指 numpy 数组中结构的精确周长 该结构可以包括孔 我目前的方法是这样的 import numpy a numpy zeros 6 6 dtype numpy int a 1 5 1 5
  • MKMapView 的用户位置在启动或恢复时错误

    当我重新启动我的应用程序或在很长一段时间后恢复时 MKMapView 用户位置的概念是错误的 并显示我在海中央 我正在使用以下代码 self mapView centerCoordinate self mapView userLocatio