当我尝试在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个多边形叠加。
问题不在于创建多边形,而是在地图上滚动。
我该如何解决这个问题?我做错了什么,如何优化呢?
答案 0 :(得分:0)
已编辑:我没有意识到Google Maps for Android不允许您制作自定义地图,就像Google Maps for Web一样。
Google地图无法处理可能的多边形。您可以使用Google Maps for Web解决问题,但要从实际角度展示许多多边形,您需要生成切片。因此,您需要将应用程序重做为网页而不是本机应用程序。
有很多关于如何使用自定义地图图块制作地图的资料。见
我还有一篇关于提高磁贴渲染速度的博客文章,stackoverflow不允许我发布另一个链接。搜索 sherwood优化地图图块生成
祝你好运!