удалить только аннотации, которых нет в моей области рисования в MapKit iOS Swift 4.2 - PullRequest
0 голосов
/ 04 января 2019

Я хочу сохранить только те аннотации, которые находятся в моей области многоугольника вида карты. Как удалить оставшиеся аннотации с карты, используя swift 4.2. вот мой код

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        mapView?.removeOverlays(mapView!.overlays)
        if let touch = touches.first {
            let coordinate = mapView!.convert(touch.location(in: mapView),      toCoordinateFrom: mapView)
            points.append(coordinate)
        }
    }
    override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
        if let touch = touches.first {
            let coordinate = mapView!.convert(touch.location(in: mapView),       toCoordinateFrom: mapView)
            points.append(coordinate)
            let polyline = MKPolyline(coordinates: points, count: points.count)
            mapView!.addOverlay(polyline)
        }
    }
     override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
                let polygon = MKPolygon(coordinates: &points, count: points.count)
                mapView?.addOverlay(polygon)
    }

func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
        if overlay is MKPolyline {
            let polylineRenderer = MKPolylineRenderer(overlay: overlay)
            polylineRenderer.strokeColor = .blue
            polylineRenderer.lineWidth = 5
            return polylineRenderer
        } else if overlay is MKPolygon {
            let polygonView = MKPolygonRenderer(overlay: overlay)
            polygonView.fillColor = UIColor.black.withAlphaComponent(0.2)
            return polygonView
        }
        return MKPolylineRenderer(overlay: overlay)
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...