谷歌地图浏览器非常慢&使用标记加载非常大的数据时崩溃

时间:2015-03-27 18:24:40

标签: google-maps google-maps-api-3 kml georss

我正在构建一个基于GPS的跟踪应用程序,其目的是显示过去24小时内车辆的总路线,数据平均每半分钟一次。

除了这些数据外,还有各种各样的道路,路线标记,基于不同运输条件的各种颜色代码,基于GPS设备发送数据的不同角度的路线上的不同图像。

考虑到所有这些因素,数据非常庞大,并且有很多逻辑和条件。

我们正在加载谷歌地图,方法是创建xml并在地图上呈现为图层并放置其他颜色图标

Loading Markers from XML file to Google Map API方法是实施的基础。 我们每3秒刷新一次地图并将完整的xml放置在图层中。

问题:

  1. 每次ajax调用时,带有图标和图像的地图都会抖动 制作并且没有发生自动地图更新的感觉
  2. 当地图上存在大量数据时,应用程序会变得非常紧张 慢和浏览器崩溃了很多次
  3. 需要帮助:

    1. XML加载是加载地图的最佳方式吗?
    2. 还有其他更好的选择 - 请建议
    3. 很多论坛指向 https://developers.google.com/maps/documentation/javascript/kmllayer 这是需要采取的评估

1 个答案:

答案 0 :(得分:1)

我认为您需要对显示数据进行一些优化。 XML方法很好,问题是你只有太多的方法。

首先,您可以使用google.maps.Map class中的getBounds()方法,并仅显示用户视图中的标记。这就是为什么当用户只能看到10个数据时为什么要绘制10,000个数据呢?
您还应该听bounds_changed event,以便相应地更新您的视图。

其次,即使用户正在寻找广阔的区域,您也完全不想显示所有标记,不仅速度慢,而且还有可怕的体验。
enter image description here
相反,您应该对数据进行分组,就像iOS'照片应用程序的按区域功能分组 enter image description here

同时回收您的标记,而不是删除和创建。