首页 > 解决方案 > 是否可以在 Google 地图上将多边形渲染为图块?

问题描述

我正在尝试渲染具有一些严重性能问题的多个多边形。

我目前通过网络服务检索一个包含大量多边形和多面体的大 GeoJSON 文件(~2MB)。

我设法将它们全部渲染为GeoJsonLayer并稍后将它们添加到我的GoogleMap实例中,没有任何问题,除了一些没有填充背景颜色的多边形(查看这个 GitHub 问题#257)。如我所见,这是一个已知的错误。

主要问题是构成我的多边形的点的数量,这使得性能非常糟糕,特别是在低端设备上。

有什么方法可以将每个多边形渲染为 Tile、PNG、图像或任何可以放置在地图顶部以提高性能的东西?

如果不是,那将是绘制这么多多边形的最佳方法?

这是我目前正在使用的代码示例(Android):

for(int i = 0; i < pages.length(); i++){
    JSONObject obj = (JSONObject) pages.get(i);
    JSONObject geometry = obj.getJSONObject("geometry");
    GeoJsonLayer layer = new GeoJsonLayer(mGoogleMap, geometry);
    GeoJsonPolygonStyle style = layer.getDefaultPolygonStyle();
    style.setStrokeColor(Color.WHITE);
    style.setStrokeWidth(2F);
    style.setFillColor(Color.GREEN);
    style.setPolygonFillColor(Color.GREEN);
    layer.addLayerToMap();
}

标签: javaandroidgoogle-mapsgisgeojson

解决方案


推荐阅读