【问题标题】:Improving Google Maps Performance提高谷歌地图性能
【发布时间】:2011-09-29 05:19:37
【问题描述】:

我必须在谷歌地图上画大约 10000 条线。所以,它在draw() 方法上花费了太多时间。在地图上移动变得非常滞后。有没有办法缓存绘图或者我可以只绘制当前在屏幕上看到的地图/画布的一部分?

【问题讨论】:

    标签: android google-maps


    【解决方案1】:

    绘制 10000 条线永远不会没有延迟。我猜你连接点。

    Here 是 mapView 中点聚类的一种实现,如果需要,还可以渲染可见的。所以你可以画线到聚集的点。

    【讨论】:

      【解决方案2】:

      现在我可以毫无延迟地绘制所有 10000 条线。这一切都是关于仔细设计draw() 方法。我将一些对象创建操作(如路径、点)移出 draw()。我看到特别是projection.toPixels(geoPoint, point); 是非常昂贵的操作。最后,我设置了一个 alpha 常量,它保​​存手指移动的像素值。并且它仅在pixelX 或pixelY 移动大于alpha 时才绘制。

      【讨论】:

        【解决方案3】:

        看看这篇文章,它建议把你的线条画成一个形状,然后把它画到地图视图上。

        这里:Cache whats being draw on MapView in Android

        这只是一个建议,您可能想尝试将 MapView 保存为位图,然后进行渲染(取决于您的情况)。

        这里:Save MapView as a Bitmap

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-11
          • 1970-01-01
          • 2016-05-06
          相关资源
          最近更新 更多