如何在 iOS 地图上叠加一个圆圈

2024-01-16

我有一个半径和一个位置。

这就是我试图获取圆的边界矩形的方法。

- (MKMapRect)boundingMapRect{

    CLLocationCoordinate2D tmp;
    MKCoordinateSpan radiusSpan = MKCoordinateRegionMakeWithDistance(self.coordinate, 0, self.radius).span;
    tmp.latitude = self.coordinate.latitude - radiusSpan.longitudeDelta;
    tmp.longitude = self.coordinate.longitude - radiusSpanSpan.longitudeDelta;

    MKMapPoint upperLeft = MKMapPointForCoordinate(tmp);
    MKMapRect bounds = MKMapRectMake(upperLeft.x, upperLeft.y, self.radius * 2, self.radius * 2);

    return bounds;
}

MKMapRectMake(...)似乎想要以地图点测量宽度和高度。如何将半径转换为该半径?

最后我把它渲染成这样:

MKMapRect theMapRect = [self.overlay boundingMapRect];
CGRect theRect = [self rectForMapRect:theMapRect];
CGContextAddEllipseInRect(ctx, theRect);
CGContextFillPath(ctx);

最终地图上的半径似乎不等于米,而且距离似乎没有正确测量。怎样做才正确呢?

我真的很感谢每一个提示。


您应该改用 MKCircle。做类似的事情:

CLLocationDistance fenceDistance = 300;
CLLocationCoordinate2D circleMiddlePoint = CLLocationCoordinate2DMake(yourLocation.latitude, yourLocation.longitude);
MKCircle *circle = [MKCircle circleWithCenterCoordinate:circleMiddlePoint radius:fenceDistance];
[yourMapView addOverlay: circle];

并采用下面的 MKMapViewDelegate 方法并执行如下操作:

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay

{
     MKCircleView *circleView = [[[MKCircleView alloc] initWithCircle:(MKCircle *)overlay] autorelease];
     circleView.fillColor = [[UIColor redColor] colorWithAlphaComponent:0.9];
     return circleView;
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 iOS 地图上叠加一个圆圈 的相关文章

  • 最小的 iOS 蓝牙管理器示例

    我一直在构建一个最小的示例 用于使用 iOS 5 0 中的 BluetoothManager 私有框架来检测附近的蓝牙设备 使用此问题中找到的答案 寻找触手可及的通用蓝牙设备 https stackoverflow com question
  • 是否有针对不同屏幕尺寸的单独故事板?

    基本上我已经完成了一个应用程序 我唯一的问题是 ATM 机应用程序在设计时只考虑了 4 英寸显示屏 当在 3 5 英寸模拟器上运行时 应用程序会丢失 0 5 英寸 显然 那么我的问题是 如何在 Xcode 5 中为不同的屏幕尺寸设置不同的故
  • UICollectionView 自动滚动到 IndexPath 处的单元格

    在加载集合视图之前 用户设置集合视图数组中的图像数量 所有单元格都不适合屏幕 我有 30 个单元格 但屏幕上只有 6 个 问题 如何在加载 UICollectionView 时自动滚动到具有所需图像的单元格 新的 编辑过的答案 将其添加到v
  • 无法构建 Saurik 的 ldid 实用程序

    当我执行此命令 make sh 时 我遇到这些错误 构建用于越狱调整开发的 ldid 实用程序 Bilals Mac ldid billy make sh g arch i386 arch x86 64 arch ppc arch armv
  • 在 Objective-C 中比较 2 个字符串

    我写了以下代码 if depSelectedIndice gt 1 comSelectedIndice gt 1 NSLog depart elemet d depSelectedIndice NSLog depart elemet d c
  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 从 UIImagePickerController 相机视图推送 viewController

    我正在开发一款消息应用程序 类似于 WhatsApp 用户可以互相发送文本和图像消息 当用户想要发送图像时 他可以从相机胶卷中选择一张图像 也可以用相机拍摄一张图像 这就是我介绍的方式UIImagePickerController对于这两种
  • 如何打开定位服务

    当有人第一次拒绝时 如何从实际应用程序重新打开定位服务 我可以选择关闭或打开它 您只能提示他们在屏幕上打开定位服务 如下所示 UIApplication sharedApplication openURL NSURL URLWithStri
  • 如何替换已弃用的方法dispatch_get_current_queue()? [复制]

    这个问题在这里已经有答案了 我正在 iOS 5 中使用 xmppframework 开发一个聊天应用程序 它工作得很好 但我将 Xcode 更新到 4 5 1 将 iOS 5 更新到 iOS 6 将 Mac OS 更新到 10 7 5 但由
  • 网站在 iPhone 屏幕右侧显示空白区域

    我遇到问题http eiglaw com http eiglaw com iPhone 屏幕右侧显示约 25 像素宽的空白 边框 我在 stackoverflow 上研究了这个问题 这些帖子是相关的 但是当我尝试提供的各种解决方案时 我无法
  • 如何在 Firebase 控制台中使用 Apple 新的 APN .p8 证书

    随着最近 Apple 开发者帐户的升级 我面临着一个困难 在尝试创建推送通知证书时 它为我提供了 p8 证书 而不是可以导出到 p12 的 APNs 证书 Firebase 控制台仅接受 p12 证书 那么我如何从这些新的 p8 证书中获取
  • 在横向中自动调整 UITableCells 内容的大小

    在 UITableView 中 我通过 UILabels 将内容添加到单元格中 定义最佳尺寸 与单元格宽度允许的一样大 我注意到只有tableView contentSize width是可靠的 因为cell contentView bou
  • Parse.com 从相关 PFObject 获取 PFUser

    我正在将照片保存为 PFObject 解析 并使用 PFUser currentUser 用户 ID 作为其键之一 我想在表格视图中显示照片以及该 PFUser 的详细信息 但是当我尝试获取用户时 PFUser user self phot
  • 导入 RNCryptor 后架构 armv7 的未定义符号

    我导入了 RNCryptor 可以在这里找到 https github com rnapier RNCryptor https github com rnapier RNCryptor进入我的应用程序 但是 我在日志中收到了三个错误 Und
  • 更改组织以使用 Xcode 9 在 iTunes Connect 上上传二进制文件

    我在 Xcode9 上配置了多个团队 当我尝试将二进制文件上传到 Xcode 9 上的 iTunes Connect 时 没有更改团队的选项 并且出现以下错误 ERROR ITMS 4088 来自苹果开发者论坛的解决方案 1 正常存档2 窗
  • 在 XCode 中链接静态 ObjC 库的过程

    我正在尝试链接到静态库 但不断收到链接器错误 我发现了一些发布示例的网站 但我无法看到我做错了什么 首先 我创建一个链接到我的库的项目 添加 gt 现有文件找到我的 xcodeproj 文件选择 将项目复制到目标组文件夹 选择我的宿主项目作
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 在 iOS 中,如何创建一个始终位于所有其他视图控制器之上的按钮?

    无论是否呈现模态或用户执行任何类型的转场 有没有办法让按钮在整个应用程序中 始终位于顶部 而不是屏幕顶部 有什么方法可以让这个按钮可拖动并可捕捉到屏幕上吗 我正在以苹果自己的辅助触摸作为此类按钮的示例 您可以通过创建自己的子类来做到这一点U
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf

随机推荐

  • 我的 MenuItem 的 getActionView() 返回 null

    我只是想通过代码调整 ActionBar MenuItem 的视图 不幸的是 似乎 getActionView 总是返回 null My code Override public boolean onCreateOptionsMenu Me
  • Rails:在 mail_to 链接中包含 html

    我正在寻找一种在 mail to 链接中包含 html 的方法 以便我可以自动在此电子邮件的正文中包含横幅 感谢您的任何提示 Markus Rails 3 mail to email protected cdn cgi l email pr
  • 如何清除Chromium浏览器的图标缓存

    我更新了浏览器选项卡上显示的网站图标 我清除了chromium浏览器 Ubuntu版本的Chrome 的数据 清除浏览数据 gt 选择 从头开始 并检查所有内容 gt 单击 清除浏览数据 然而 我仍然得到我的旧图标 知道如何清除该缓存吗 在
  • Android 强制 HDMI 音频

    当我的 ADT 1 连接到电视时 无法通过 HDMI 播放声音 在该特定电视上 我必须在 Raspberry PI 上强制使用 HDMI 音频 因此我也尝试在 ADT 1 上强制使用它 我尝试制作一个具有许可的应用程序
  • Wii 编程教程 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Jackson Mapper 具有特殊字符 é 问题

    你好 我有一个网页 它提交了一个像这样的字符Jos Luis Calleja Garcia 但在服务器中它被转换为Jos Luis Calleja Garcia 我不知道我做错了什么 我应该设置什么配置才能得到它Jos Luis Calle
  • 如何在 Perl 一行中获取当前文件的文件名

    是否可以像下面这样在 Perl 单行代码中获取当前文件名 从文件列表中 perl lane if my value print txt 变量的名称是 ARGV 您可以在以下位置找到相关信息 佩尔瓦尔 ARGV http perldoc pe
  • 为泛型函数专门化一个类型

    鉴于这个定义 declare function foo
  • 如何使用android数据绑定设置SwipeRefreshLayout刷新属性?

    我正在使用 Android 数据绑定库 如果我想让视图可见 我可以这样写
  • CSS:100% 表格的 内的中心文本区域

    现在 我有一个 100 宽度的表格 其中包含 2 列 其中有一个文本区域 用户可以在其中输入文本 table border collapse collapse width 100 border 1px solid black table l
  • 当依赖项被锁定时发现 Composer 软件包的最新版本

    假设我有一个composer json具有锁定依赖项的文件 require zendframework zendframework 2 4 2 require dev phpunit phpunit 4 6 6 我想这样做是因为我想手动更新
  • R - 将向上对角线转换为行

    我得到一个矩阵 数据框或数据表 我想创建一个矩阵 其中向上 反向对角线作为行 其余单元格作为 NA 我能够做到这一点 但我认为 应该有一个更容易 更简单的解决方案 因此 任何解决方案都值得赞赏 作为一个例子 假设我得到以下 data tab
  • Grails 服务类交叉引用

    我意识到 Grails 服务类是 Spring 管理的单例 我还知道 您可以通过像这样的驼峰式大小写形式使用 serviceClassName 声明本地定义来引用另一个服务类 令我惊讶的是 我似乎无法像这样交叉引用服务类 class Fir
  • jsTree:如何从jstree中获取所有叶节点?

    我想从 jsTree 获取所有叶节点 节点的 ID 和文本 我没有使用复选框 ui jsTree Root A A1 A1 1 A2 A2 1 B B2 C C1 C1 1 我想要 jsTree 的叶节点列表 预期输出 A1 1 A2 1
  • Google Drive API 如何支持下载请求的内容范围? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 Google Drive API 如何支持获取内容范围请求 App Engine 获取请求大小有限制 请支持范围请求 以便可以读取大文件 您可以提供
  • __unicode__() 不返回字符串

    我在 python 中有以下课程 class myTest def init self str self str str def unicode self return self str 并在其他一些文件中实例化 myTest 来尝试 un
  • Excel 单元格中的 OpenXml 和日期格式

    我正在尝试使用 OpenXML 创建 xlsx 格式的 Excel 文件 因为我需要在 Web 服务器上使用它 我在表格中填写数值没有任何问题 但是我正在努力在单元格中设置经典的日期格式 下面使用快速测试DocumentFormat Ope
  • 类型错误:预期序列或类似数组,得到估计器

    我正在开发一个对产品有用户评论的项目 除了我手动提取的一些其他特征之外 我正在使用 TfidfVectorizer 从数据集中提取特征 df pd read csv reviews csv header 0 FEATURES feature
  • 根据屏幕尺寸缩放字体大小?

    我正在使用 AngularJS 1 x 和 Angular Material 开发一个 Web 应用程序 我正在尝试创建一个带有大标题的登陆页面md display 4 它看起来是这样的 正如您所看到的 标题很好地填充了页面并且适合一行 然
  • 如何在 iOS 地图上叠加一个圆圈

    我有一个半径和一个位置 这就是我试图获取圆的边界矩形的方法 MKMapRect boundingMapRect CLLocationCoordinate2D tmp MKCoordinateSpan radiusSpan MKCoordin