如何找到可见MKMapView可见屏幕区域的半径?

2023-12-08

我想知道iPhone屏幕中可见区域的半径,因为我会缩小和放大可见区域会发生变化,所以我想知道该特定区域的半径,我该怎么做?


它不是所需的半径。

您需要使用mapView 中的region 参数。

查一下苹果文档,里面说的很清楚了。

完成本教程。它会对你有很大帮助

icode 博客 Mapkit 演示

具体来说你需要设置这样的东西..

MKCoordinateSpan span = [self coordinateSpanWithMapView:self centerCoordinate:centerCoordinate andZoomLevel:zoomLevel];
MKCoordinateRegion region = MKCoordinateRegionMake(centerCoordinate, span);
[self setRegion:region animated:animated];

其中跨度可以计算为

- (MKCoordinateSpan)coordinateSpanWithMapView:(MKMapView *)mapView
                         centerCoordinate:(CLLocationCoordinate2D)centerCoordinate
                             andZoomLevel:(NSUInteger)zoomLevel
{
// convert center coordiate to pixel space
double centerPixelX = [self longitudeToPixelSpaceX:centerCoordinate.longitude];
double centerPixelY = [self latitudeToPixelSpaceY:centerCoordinate.latitude];

// determine the scale value from the zoom level
NSInteger zoomExponent = 20 - zoomLevel;
double zoomScale = pow(2, zoomExponent);

// scale the map’s size in pixel space
CGSize mapSizeInPixels = mapView.bounds.size;
double scaledMapWidth = mapSizeInPixels.width * zoomScale;
double scaledMapHeight = mapSizeInPixels.height * zoomScale;

// figure out the position of the top-left pixel
double topLeftPixelX = centerPixelX - (scaledMapWidth / 2);
double topLeftPixelY = centerPixelY - (scaledMapHeight / 2);

// find delta between left and right longitudes
CLLocationDegrees minLng = [self pixelSpaceXToLongitude:topLeftPixelX];
CLLocationDegrees maxLng = [self pixelSpaceXToLongitude:topLeftPixelX + scaledMapWidth];
CLLocationDegrees longitudeDelta = maxLng - minLng;

// find delta between top and bottom latitudes
CLLocationDegrees minLat = [self pixelSpaceYToLatitude:topLeftPixelY];
CLLocationDegrees maxLat = [self pixelSpaceYToLatitude:topLeftPixelY + scaledMapHeight];
CLLocationDegrees latitudeDelta = -1 * (maxLat - minLat);

// create and return the lat/lng span
MKCoordinateSpan span = MKCoordinateSpanMake(latitudeDelta, longitudeDelta);
return span;
}

干杯:)

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

如何找到可见MKMapView可见屏幕区域的半径? 的相关文章

  • iPhone iOS 保存从 UIImageJPEGRepresentation() 获得的数据第二次失败:ImageIO: CGImageRead_mapData 'open' failed

    我的 UIImage 操作遇到了一个奇怪的问题 我正在进行保管箱同步 并且必须将我的图像存储为本地文件 为此 我使用以下命令保存它们UIImagePNGRepresentation image or UIImageJPEGRepresent
  • 当我从我转向的视图控制器返回时,为什么我的 UITableView 的格式完全出错了?

    我有一个UITableView使用自定义单元格 其中有一些标签可以动态决定单元格的高度 当我点击一个单元格并转到一个新的视图控制器时 返回后所有单元格的格式完全混乱 我无法弄清楚是什么导致了它 这是细胞通常的样子 我对它们设置了一些非常基本
  • 如何建立辅助NSSortDescriptor排序键?

    我已成功按排序键对数据进行排序lastName 但我想知道如何排序lastName 然后由firstName 这是我用来排序的代码lastName NSSortDescriptor sortDescriptor NSSortDescript
  • NSDictionary 上的 NSPredicate

    我试图根据字母表在表格视图中创建部分 并在这些部分下按字母顺序对我的条目进行排序 我已经收集了 bandArrayIndex 中 bandArray 每个条目的第一个字母 现在我尝试使用 NSPredicate 来计算每个字母有多少个 我正
  • 在 uilabel 中查找文本的位置 {x,y}

    我有一个来自服务器的字符串 我正在 UILabel multiligne 上显示它 在该字符串中 我正在识别一些特定的子字符串 我想在该子字符串上放置一个按钮 按钮将是 UILabel 的子视图 为此 我需要子字符串坐标 我经历过这个 但我
  • 最小的 iOS 蓝牙管理器示例

    我一直在构建一个最小的示例 用于使用 iOS 5 0 中的 BluetoothManager 私有框架来检测附近的蓝牙设备 使用此问题中找到的答案 寻找触手可及的通用蓝牙设备 https stackoverflow com question
  • 从 UIImagePickerController 相机视图推送 viewController

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

    当有人第一次拒绝时 如何从实际应用程序重新打开定位服务 我可以选择关闭或打开它 您只能提示他们在屏幕上打开定位服务 如下所示 UIApplication sharedApplication openURL NSURL URLWithStri
  • NSString – 静态还是内联?有性能提升吗?

    如果我写的话会有任何性能提升吗 NSString helloStringWithName NSString name static NSString formatString Hello return NSString stringWith
  • 如何替换已弃用的方法dispatch_get_current_queue()? [复制]

    这个问题在这里已经有答案了 我正在 iOS 5 中使用 xmppframework 开发一个聊天应用程序 它工作得很好 但我将 Xcode 更新到 4 5 1 将 iOS 5 更新到 iOS 6 将 Mac OS 更新到 10 7 5 但由
  • 如何在 Core Data 中存储图像?

    只是猜测 我创建一个属性并将其类型设置为 二进制 但最终我该如何使用它呢 我猜幕后有一个 NSData 那么该属性实际上采用 NSData 吗 这个问题已经被问过很多次了 答案有点复杂 当涉及二进制数据时 您应该根据要使用的数据的预期大小来
  • Parse.com 从相关 PFObject 获取 PFUser

    我正在将照片保存为 PFObject 解析 并使用 PFUser currentUser 用户 ID 作为其键之一 我想在表格视图中显示照片以及该 PFUser 的详细信息 但是当我尝试获取用户时 PFUser user self phot
  • 如何知道我的应用程序使用了多少 iCloud 空间?

    有没有办法查看我的应用程序正在备份到 iCloud 的内容以及它消耗了多少内存 Settings gt iCloud gt Storage Backup gt Manage Storage将显示正在备份的总计内容 iOS 会备份位于应用程序
  • 导入 RNCryptor 后架构 armv7 的未定义符号

    我导入了 RNCryptor 可以在这里找到 https github com rnapier RNCryptor https github com rnapier RNCryptor进入我的应用程序 但是 我在日志中收到了三个错误 Und
  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 在 iOS 上将 NSString 转换为 NSDate 的正确方法?

    我一直在使用此方法将常规 NSString 对象转换为 NSDate 但尝试向 Apple 提交更新 但遭到拒绝 在 iOS 中还有什么其他方法可以做到这一点 NSString date str 2011 08 12T12 20 00Z N
  • 如何禁用 iPhone 邮件应用程序中的电话号码链接?

    我的公司正在发送数字电子邮件收据 但遇到了 iPhone Mail 检测数字数据并将其自动链接为电话号码的问题 我已经看到元标记应该可以解决 iPhone 上的 Mobil Safari 中的问题 但该技巧似乎不适用于 Mail 有谁知道如
  • 在 Objective C 的类方法中引用类本身

    我希望我没有跳过 ObjC 手册中的这一部分 但是是否可以从类的一个类方法中引用该类 就像在 PHP 中一样 您将使用 this 来引用当前实例 而 self 引用实例的类 this 的 ObjC 等价物将是 self 那么 PHP 的 s
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i
  • UIImageJPEGRepresentation 在视网膜显示屏上提供 2x 图像

    我有这段代码 它创建一个图像 然后向其添加一些效果并缩小其大小以使其largeThumbnail UIImage originalImage UIImage imageWithData self originalImage thumbnai

随机推荐

  • 初始化 Objective-C 类 ivar,它是一个 C 数组

    我的 Obj C 类中有一个 ivar 它是一个 C 数组 我对使其成为 Obj C 属性不感兴趣 够简单的 现在 在我的类的 init 方法中 我想使用 C 数组简写 init 为该数组播种一些值 如下面的 m 所示 但我相当肯定这是创建
  • Android setShareIntent 在片段内

    一 背景 我有一个屏幕 上面有 ShareActionProvider and a ViewPager 使用片段 我希望做的是从当前可见片段内部获取一些信息来创建意图 然后我就能够在 ShareActionProvider 上设置意图 这是
  • 如何在rmarkdown中的pdf_document中渲染htmlTable包中的表格?

    在 rmarkdown 在 RStudio 中 中 我使用 htmlTable 包在 html 文档中生成漂亮的表格 现在我想要在渲染 pdf 文档时得到相同的结果 表格未正确呈现 如何让 rmarkdown 在我的 pdf 文档中生成表格
  • 源映射必须有 .map 扩展名吗?

    如果我创建一个源映射 我是否必须给它一个 map 扩展名 或者我可以将其命名为 foo 只要它具有正确的标头 如果有人能指出这方面的文档 我将不胜感激 它可以有任何扩展名 在压缩 缩小 原始文件中 您放入sourceMappingUrl评论
  • 通过拖放文件或文件夹来启动 Swift OSX 应用程序

    我试图弄清楚如何通过拖放文件或文件夹来在 OSX 上启动 Swift 应用程序 并让它将拖放资源的完整路径视为参数 首先 在 项目导航器 根节点 中选择您的项目 然后转到 信息 选项卡以声明您的应用程序支持的文件类型 它可以窄到 仅 CSV
  • Outlook 自动化 - 更改发件人帐户

    我正在自动化 Outlook 并且需要控制电子邮件的发件人身份 用户将在 Outlook 中设置两个或多个帐户 我需要能够选择从哪个帐户发送电子邮件 有任何想法吗 需要 Outlook 2003 及以上版本支持 我正在使用 Delphi 2
  • 是什么原因造成的,当数值大于一定位数时,结果会不同呢?

    非常抱歉 在尝试完所有案例之前 我急忙发邮件向大家说声抱歉 根据你的回答 我尝试并推翻了之前的想法 随着位数的变化 我很困惑 我没有测试多少位数字是正常的 但我相信这个例子应该可以解释 字符串类型与数字类型比较时 当位数大于一定值时 只返回
  • -replace 不将字符串替换为“()”

    我正在尝试在 PowerShell 中替换包含括号的字符串 但是 当我尝试这样做时 它不起作用 知道我哪里出错了吗 我应该做什么来替换包含的字符串 with replace在 PowerShell 中 a Some Text with ro
  • 声明结构体字段对象类型时,我必须在这里使用什么样的生命周期参数

    这就是我的代码的样子 我正在尝试在我的内部使用一个实现的结构ShapeRenderer构造并使用它的方法 形状 rs use super core pub struct ShapeRenderer lt a gt core renderer
  • 添加数据时ng-repeat不更新列表

    我的问题是 ng repeat 不会自动更新数据 当我在代码中按添加引脚时 该元素会正确添加到数据库中 如果我重新加载页面 数据会正确显示 但不会像角度那样显示 据记录 更新和删除工作正常 提前致谢 这是我的 app js 代码 var a
  • ASP.NET MVC3 - 使用 Javascript 的错误

    我正在尝试使用 Ajax BeginForm 从我的控制器发布 Json 结果 我正在使用 MVC3 当 Json 结果被调用时 它应该被发送到 javascript 函数并使用提取对象 var myObject content get r
  • 显示优惠券说明 woocommerce

    我试图在购物车页面应用优惠券 10 后显示优惠券描述 要显示总计 我正在使用 woocommerce gt cart gt cart contents total 如何显示优惠券说明 由于你没有提到你想要在哪里有优惠券说明 我之前已经打印了
  • 聚合数据帧列表并存储所有结果

    我有 9 个数据框的列表 每个数据框大约有 100 行和 5 6 列 我想根据所有数据帧中另一个列中指定的组来聚合列中的值 并将所有结果存储在单独的数据框中 为了阐明这一点 请考虑一个列表 1 Date Group Age Nov A 13
  • Hibernate 不会完全刷新实体子级

    我使用 Hibernate 5 1 0 Final 我的GenericDAO类主要方法 public T save T entity entityManager getTransaction begin entityManager pers
  • 如何删除 Symfony 2.7 中的弃用警告?

    Symfony 在日志和控制台中输出了可怕的 自 2 6 版本以来已弃用 并将在 3 0 中删除 错误 我遵循了我发现的所有声称可以解决该问题的指南 包括升级 sensio distribution bundle 并将 E USER DEP
  • 是否可以重新加载相同的 FXML/Controller 实例?

    Goal Implement a standard Settings GUI window Categories in a ListView on the left and the corresponding options in a Pa
  • OpenGL 打包正常

    我试图理解使用之间的区别GL INT 2 10 10 10 REV对于我的数据的正常情况 V S GLbyte 目前我正在将法线加载到glm vec4我这样包装它 int32 t floatToSignedNormalizedByte fl
  • 如何更改视频播放速度

    我想知道是否可以在 iPhone 应用程序中更改视频播放速度 我们希望用户对着麦克风大喊以加快播放速度并结束 您必须使用 setCurrent PlaybackRate
  • 在 Facebook 或 Twitter 授权后存储和检索用户收到的令牌

    您好 我目前正在尝试编写一个 MVC5 应用程序 该应用程序能够在通过 facebook 或 twitter 授权后存储用户收到的令牌 我想将其存储在数据库中而不是 cookie 中 并在用户将来的任何 API 请求和登录尝试中使用它 这样
  • 如何找到可见MKMapView可见屏幕区域的半径?

    我想知道iPhone屏幕中可见区域的半径 因为我会缩小和放大可见区域会发生变化 所以我想知道该特定区域的半径 我该怎么做 它不是所需的半径 您需要使用mapView 中的region 参数 查一下苹果文档 里面说的很清楚了 完成本教程 它会