Swift: Как визуализировать MKPolygon с помощью MKPolygonRenderer в Mapkit, чтобы иметь рамку с внутренней прозрачной полосой и необязательной меткой? - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь нарисовать MKPolygon на виде карты с границей между краями и хотел бы иметь прозрачную полосу внутри многоугольника.

Кроме того, я хочу показать метку, которая расположена внутриполигон вдоль MKPolyline.

Я не могу использовать опцию fillColor, потому что хочу, чтобы полоса была заполнена не полностью многоугольником.

func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
    if overlay is MKPolygon {
        let renderer = MKPolygonRenderer(polygon: overlay as! MKPolygon)
        renderer.fillColor = UIColor.red.withAlphaComponent(0.3) // Fills the entire polygon - but I want to have a transparent band instead.
        renderer.strokeColor = UIColor.red
        renderer.lineWidth = 2
        return renderer
    }

    return MKOverlayRenderer()
}

На этом рисунке показано, что я хочу увидеть:

https://cdn1.imggmi.com/uploads/2019/5/2/40694eb1c162caabef1978f3b470bc6d-full.jpg Mapview с MKPolygon с рамкой и полупрозрачной полосой

У кого-нибудь есть идея, чтобы это сделать?

...