我想我会先问这个再做困难的事情。我用 Google 和 StackOverflow 搜索过,但找不到任何东西。 MapKit 擅长在 MKMapView 上绘制区域形状,而 CoreLocation 擅长告诉您从 CLLocation 到 CLLocation 的直线距离,但这两者都不是我所需要的。
我基本上希望能够在半径为 10 米的 map 上放置一个点,并知道那里是否已经有任何东西(半径也为 10 米)并且会与第二个放置的东西的区域相交。我希望能够获得所有这些点的总面积(以平方米为单位),这很容易,但需要对重叠圆圈进行校正。
感谢您的帮助。
最佳答案
您需要查看一些资源。
首先,Mapkit 有一些用于处理 MKMapRect 结构的辅助函数。它们将帮助您在区域和 MKMapRects 等之间进行转换。在这里看到他们: http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MapKitFunctionsReference/Reference/reference.html%23//apple_ref/doc/uid/TP40008209
其次,要进行您想进行的几何计算(半径、面积等...),您可能需要这样:http://trac.osgeo.org/geos/
很难为 iOS 编译,但可以做到。考虑编译它的一个好地方是 spatialite 项目。 Spatialite 依赖于 geos,人们已经为 iOS 编译了 spatialite。看这里: how to compile spatialite for iOS
[编辑] 实际上,在再次阅读您的问题之后,您可能只想使用 Spatialite 而不必担心 geos。您必须将数据存储在设备上的数据库中。这样做将允许您构建类似 SQL 的查询,以回答您提出的问题。
关于iphone - 是否有用于处理 map 上的区域并计算交叉点、面积等的 iOS API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5586933/