我正在开发一款可让用户在地图上选择位置的应用。整个地图被细分为不规则区域(管理边界),当用户触摸地图上的某个点时,我需要能够确定该点属于哪个区域。只是为了澄清,用户没有有限的点集可供选择,他们只需点击地图上的任何地方。
实现这一目标的最佳方法是什么?我一直在看MKPolygon
课程,但无法确定这是否可行。如果是,我会使用intersectsMapRect:
协议的MKOverlay
方法来检查匹配吗?这种地图操作有没有很好的教程?
答案 0 :(得分:1)
这里的好方法可能是MapBox iOS SDK,它是RMInteractiveSource
,专为此而设计。查看显示互动区域的sample app。
这是通过一个空间优化的,具有离线功能的键值存储来完成的,它将不同缩放级别的像素键入任意内容值(区域名称,数据,图像等)
在MapKit中,您需要某种空间分析(可能是Spatialite?)来确定触摸点和不规则形状区域之间的交叉点。