Я пытаюсь визуализировать наложение (многоугольник) на карте, используя быстрый MapKit. Я могу успешно выполнить рендеринг, но когда я уменьшаю слишком много, а затем снова увеличиваю, все визуализированные полигоны исчезают. Как я могу предотвратить это и заставить визуализированные многоугольники оставаться на карте при всех масштабах увеличения? Я использую MapKit и MKPolygonRenderer.
Я добавляю многоугольники к карте, используя следующий метод в моем viewController:
// function to add polygon overlay to the map
private func addPolygonsToMap() {
guard let polygons = arrayOfpolygons else {
return
}
for polygon in polygons {
mapView.addOverlay(polygon)
}
}
Мой контроллер представления соответствует MKMapViewDelegate, и вот метод делегата дляit.
// method for overlay on map
func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
let renderer = MKPolygonRenderer(overlay: overlay)
renderer.fillColor = UIColor.purple.withAlphaComponent(0.4)
renderer.strokeColor = .black
renderer.lineWidth = 2
return renderer
}
Вот простая демонстрация с некоторыми точками для рисования тестового многоугольника. https://developer.apple.com/documentation/mapkitjs/mapkit/polygonoverlay Я не нашел быстрого решения этой проблемы.
Я работаю на симуляторе с iOS 13.