osmdroid试图显示许多多边形叠加

时间:2014-06-10 09:38:19

标签: android performance bitmap overlay osmdroid

我需要在地图上叠加许多(可点击的)多边形(超过5000),因此正常的多边形叠加效果会很慢。

我的想法是创建一个自定义位图叠加层,在位图画布上仅绘制当前边界坐标内的多边形,忽略外部多边形的所有绘制。

此外,出于性能原因,我只会在用户完成缩放或平移时重绘重叠,而不是在此操作期间重绘。

有人可以帮我点一些帮助吗?

感谢。

1 个答案:

答案 0 :(得分:1)

在您的情况下,当许多多边形完全位于视图框外时,边界框测试是一个很好的解决方案。

您可以对Polygon进行子类化,添加边界框属性,并覆盖draw方法以首先测试此边界框是否完全位于视图框之外。

无需在位图画布上绘图。

现在,如果用户缩小,他将在视图框中包含所有多边形:回到初始问题...解决方案可能是处理细节级别。也许使用DouglasPeucker reducer(OSMBonusPack utils中提供)。