Android Google Maps V2 Проблема рендеринга с наложением полигонов - PullRequest
0 голосов
/ 08 октября 2018

В настоящее время я создаю приложение, которое использует Google Maps с большим количеством полигонов, отображаемых на нем.Моя проблема в том, что когда два полигона перекрываются (что может случаться довольно часто в моем наборе данных), нижний становится немного темнее.Что я хочу сделать, это очистить то, что находится под многоугольником, перед его рендерингом.

В iOS я сделал это так:

class MyMKRenderer : MKPolygonRenderer {
    override func draw(_ mapRect: MKMapRect, zoomScale: MKZoomScale, in context: CGContext) {
        context.saveGState()
        context.setBlendMode(.clear)
        context.setFillColor(self.fillColor!.cgColor)
        context.setStrokeColor(UIColor.white.cgColor)
        context.setLineWidth(1.0)

        if polygon.pointCount > 1 {
            context.beginPath()

            let firstPoint = point(for: polygon.points()[0])
            context.move(to: CGPoint(x: CGFloat(firstPoint.x), y: CGFloat(firstPoint.y)))
            for i in 1 ..< polygon.pointCount {
                let secondPoint = point(for: polygon.points()[i])
                context.addLine(to: CGPoint(x: CGFloat(secondPoint.x), y: CGFloat(secondPoint.y)))
            }

            context.closePath()
            context.drawPath(using: .fillStroke)
        }

        context.restoreGState()
        super.draw(mapRect, zoomScale: zoomScale, in: context)
    }
}

Но я не могу найти похожееспособ сделать это в Android.

Изображение проблемы:

Should not have darker red color

Кто-нибудь знает способ?

...