检查MKPolygon是否在可见矩形或其他MKPolygon内



我有一个MKMapview,添加了很多多边形作为覆盖,为了优化内存,我需要在添加覆盖之前知道多边形是否在MKMapview 的可见区域内

我甚至可以创建一个完整的可见区域多边形与地图视图所有的角坐标,例如左上角

func topLeftCoordinate() -> CLLocationCoordinate2D {
return convert(bounds.origin, toCoordinateFrom: self)
}

有了所有的角坐标,我可以创建一个current_visible_area_polygon,我想检查我添加的多边形是否在这个current_visible _area_poligon内。

所以归结为两个问题

  1. 是否可以检查一个多边形是否在另一个多边形内或至少与or相交
  2. 如果多边形在可见maprect内

我发现答案是以下

let mapView: MKMapView
let mkPolygon: MKPolygon
mapView.visibleMapRect.isIntersects(mkPolygon)

最新更新