3

当我尝试在 android 上显示大量多边形时,地图非常慢

下面是在 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 个多边形叠加。

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

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

4

1 回答 1

0

已编辑:我搞砸了,并没有意识到 Android 版 Google Maps 不允许您制作自定义地图,就像您可以使用 Google Maps for Web 一样。

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

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

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

祝你好运!

于 2013-03-22T19:32:40.690 回答