• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 将 MKCoordinateRegion 视为矩形会回来困扰我吗?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 16:32:36 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

背景:我正在构建一系列大量使用 map 的基于位置的应用程序。这些 map 用从服务器获取的位置进行注释,我将需要数据的 map 区域传递到该位置(定义为 lat/long 和 latDelta/longDelta,很像 MKCoordinateRegion,但引用坐标的位置不同) .我正在编写一堆辅助方法/类以在管理这些区域时使用。需要与 iOS 3.x 兼容(意味着 MKMapRect 已淘汰)。

问题:我是否通过将 MKCoordinateRegions 视为矩形来设置自己的失败?具体来说,我将它们的几何形状视为矩形,假设它们具有与矩形基本相同的属性。我已经实现了几种反射(reflect) CGRect 辅助方法的方法,例如 MKCoordinateRegionUnion/Inset/Outset 等,它们都通过了我的单元测试,但我开始质疑我的基本假设是否正确。事实上,我知道 MKCoordinateRegion 并不表示几何矩形,而是由两组相互垂直的平行平面限定的球面区域(如果有人能以更好的术语提示我,则加分)。

我还没有遇到任何异常,但由于许多应用程序将依赖于我对几何的理解,我宁愿现在弄清楚我是否走错了路。事实上,我在学校处理 3D 径向几何的大部分类(class)都睡过,这让我对自己的直觉是正确的没有多大信心。



Best Answer-推荐答案


如果你考虑到赤道、本初子午线和日期变更线的边缘情况,我认为你会没事的。

或者,您可以开发自己的 MKMapRect,如矩形。 Troy Brant 有一篇很棒的博客文章,介绍了矩形是如何形成的:

http://troybrant.net/blog/2010/01/mkmapview-and-zoom-levels-a-visual-guide/

虽然博客文章主要是关于缩放级别的,但其中的所有信息都可用于构建您自己的 map rect 库。

球面上以大圆为界的区域称为球面多边形。所以我想你可以称它们为球形矩形。

关于ios - 将 MKCoordinateRegion 视为矩形会回来困扰我吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370052/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap