2013-10-16 35 views
0

我正在研究一个让用户在地图上选择位置的应用程序。整个地图被细分为不规则区域(行政边界),当用户触摸地图上的一个点时,我需要能够找出该点属于哪个区域。只是为了澄清,用户可以选择的点数没有限制,他们只需点击地图上的任何地方。iOS MapKit - 定义不规则可触摸区域

达到此目的的最佳方法是什么?我一直在看MKPolygon班,但无法真正弄清楚这是否应该走。如果是这样,我会使用MKOverlay协议的intersectsMapRect:方法来检查匹配吗?这种地图操作有没有好的教程?

回答

1

这里的一个好方法可能是MapBox iOS SDK和它的RMInteractiveSource,这是专门为此设计的。看看这个显示交互区域的sample app

这是通过各种各样的优化空间,离线能力的键值存储做到了在不同的缩放等级来任意内容的值(区域名称,数据,图像等)

在MapKit键像素适当的,你需要某种空间分析(可能是Spatialite?)来确定触点和不规则形状区域之间的交点。

+0

我结束了使用这里描述的方法:http://stackoverflow.com/questions/4354130/how-to-determine-if-an-annotation-is-inside-of-mkpolygonview-ios但取决于项目如果我需要更复杂的自定义,可能会查看MapBox。 – SaltyNuts