iOS MapKit - 定义不规则的可触摸区域

标签 ios cocoa-touch mapkit

我正在开发一款允许用户在 map 上选择位置的应用程序。整个 map 被分割为不规则的区域(行政边界),当用户触摸 map 上的一个点时,我需要能够弄清楚该点属于哪个区域。需要澄清的是,没有一组有限的点可供用户选择,他们只需点击 map 上的任意位置即可。

实现此目标的最佳方法是什么?我一直在查看 MKPolygon 类,但无法确定这是否可行。如果是,我会使用 MKOverlay 协议(protocol)的 intersectsMapRect: 方法来检查匹配吗?这种 map 操作有什么好的教程吗?

最佳答案

一个好的方法可能是 MapBox iOS SDK RMInteractiveSource 就是为此而设计的。看看这个sample app显示交互区域。

这是通过空间优化、支持离线的键值存储来完成的,该存储将不同缩放级别的像素键控到任意内容值(区域名称、数据、图像等)

在 MapKit 中,您需要某种空间分析(也许是 Spatialite?)来确定触摸点和不规则形状区域之间的交集。

关于iOS MapKit - 定义不规则的可触摸区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19407266/

相关文章:

iphone - UINavigationController popViewController 正在弹出所有内容!

ios - Swift 4.1 中的 locationManager 展开错误,但 Swift 4.0 中没有

ios - iPhone 中 UIimagePickercontroller 的内存问题

iOS 自动布局 : Place a button exactly in the middle of two other buttons horizontally

ios - 如何从 iOS 中的文件系统路径访问图像对象

Swift 3 - 随时检索位置

swift - 自定义 MKAnnotationView swift : func mapView does nothing

ios - Facebook API : Can I simply read posts from wall without loging in?

ios - 是否可以在我的应用程序中使用内置的 iOS 裁剪工具?

ios - 选中后,可以在UITableViewCell上设置高度变化的动画吗?