在Api Map V2 Android上绘制多边形时的性能问题

时间:2013-03-22 16:48:28

标签: android api google-maps optimization polygon

当我尝试在Android上显示许多Polygones时,地图非常慢

以下代码在GoogleMap上显示大约1000个多边形。

List<LatLng> list = new ArrayList<LatLng>();
for (int i = 0; i < 33; i++) {
        for (int j = 0; j < 33; j++) {
            list.add(new LatLng(46.961511 + (0.001 * i), 4.866943+ (0.001 * j)));
            list.add(new LatLng(46.961511 + (0.001 * i) + 0.001, 4.866943 + (0.001 * j)));          
            list.add(new LatLng(46.961511 + (0.001 * i)+ 0.001, 4.866943+ 0.001+ (0.001 * j)));         
            list.add(new LatLng(46.961511 + (0.001 * i), 4.866943+ 0.001+ (0.001 * j)));
            addPolygoneToMap(list);
            list.clear();
        }
 }
 private void addPolygoneToMap (List<LatLng> latLngList) {
        mMap.addPolygon(new PolygonOptions()
                .addAll(latLngList)
                .fillColor(Color.BLUE)
                .strokeColor(Color.RED)
                .strokeWidth(3));
 }

在ApiMapV1上,我显示了超过2 000个多边形叠加。

问题不在于创建多边形,而是在地图上滚动。

我该如何解决这个问题?我做错了什么,如何优化呢?

1 个答案:

答案 0 :(得分:0)

已编辑:我没有意识到Google Maps for Android不允许您制作自定义地图,就像Google Maps for Web一样。

Google地图无法处理可能的多边形。您可以使用Google Maps for Web解决问题,但要从实际角度展示许多多边形,您需要生成切片。因此,您需要将应用程序重做为网页而不是本机应用程序。

有很多关于如何使用自定义地图图块制作地图的资料。见

我还有一篇关于提高磁贴渲染速度的博客文章,stackoverflow不允许我发布另一个链接。搜索    sherwood优化地图图块生成

祝你好运!