Android GeoJson 突出显示多边形的反区域

Android GeoJson highlight inverse region of Polygon

我正在为 Android 试验 KML 和 GeoJson,我试图显示某些图层而不是其他图层。 KML 似乎没有 GeoJson 那样的灵活性。

GeoJson 允许我根据特定条件 add/remove 特征。例如,我可能想始终显示一个基本区域(多边形),但由于屏幕上有许多多边形存在滞后,所以只显示特定缩放级别的其他区域。

我目前正在尝试使用 GeoJson 来突出显示区域的反转。在 car2go app

中可以看到一个很好的例子

我从另一个posthere

那里找到了答案
// World boundary. Can't make -90 otherwise rendering error
val polygon = PolygonOptions().add(
        LatLng(-89.999999999999, -180.0),
        LatLng(89.99999999999, -180.0),
        LatLng(89.99999999999, 179.99999999),
        LatLng(-89.99999999999, 179.99999999),
        LatLng(-89.99999999999, 0.0))

// Test hole of Europe
polygon.addHole(listOf(
        LatLng(29.68224948021748, -23.676965750000022),
        LatLng(29.68224948021748, 44.87772174999998),
        LatLng(71.82725578445813, 44.87772174999998),
        LatLng(71.82725578445813, -23.676965750000022)))

polygon.fillColor(Color.argb(75, 125, 125, 220))
polygon.strokeColor(Color.argb(205, 125, 125, 220))
polygon.strokeWidth(2.0f)

map?.addPolygon(polygon)

这里是 GeoJson 的代码片段,用于将世界矩形添加到坐标中。这将切割 out/invert/reverse geoJson 中的多边形。

geoJson.geometry.coordinates[0].unshift([[180, -90], [180, 90], [-180, 90], [-180, -90]]);