У меня есть файл geojson, содержащий FeatureCollection of Features.Я анализирую json с помощью GEOSwift и в итоге получаю объекты MKPolygon.
Мне удалось нарисовать полигоны как наложение на MKMapView, но производительность действительно низкая!
Файл geojson, который у меня естьсодержит путь к каждой стране в мире.Так что мне на самом деле карта не нужна, так как я просто хочу рисовать полигоны непосредственно в UIView.Вот мой код для получения MKPolygon:
func drawPolygonsFromFeatures(_ features: Features) {
var i = 0
for feature in features {
if let geometries = feature.geometries {
for geometry in geometries {
if let shapesCollection = geometry.mapShape() as? MKShapesCollection {
let shapes = shapesCollection.shapes
for shape in shapes {
if let polygon = shape as? MKPolygon {
if let identifier = feature.id as? String, self.countryDict.count > 0 {
// Set title in order to set color on country
polygon.title = self.countryDict[identifier]
}
main {
// TODO: Draw polygons on view
}
}
}
}
}
}
i += 1
}
}
Я знаю, что можно рисовать фигуры с помощью UIBeizerPath, но я не знаю, как преобразовать мой MKPolygon во что-то, что могло бы отображать фигуру в UIView.