Android Google Maps V2多边形重叠渲染问题

时间:2018-10-08 07:53:26

标签: android google-maps polygon

我目前正在创建一个使用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

有人知道吗?

0 个答案:

没有答案