具有 2000 个标记的 Google 地图性能

Rol*_*ndo 4 google-maps-api-3

我在谷歌地图上显示了 2000 个标记。我注意到性能有点慢。我不确定的是......它是否很慢,因为如果标记数量添加到地图或可见性?我该如何提高性能?我可以将它们添加到地图中并“隐藏”边界之外的标记吗?这是否有帮助,因为即使它不可见,它也会添加到地图中?显示标记的数据位于名为 的列表中var datapoints = [...]

我添加标记的代码是这样的:

for (i = 0; i < markers.length; i++) {
    var data = markers[i]
    var myLatlng = new google.maps.LatLng(data.lat, data.lng);
    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        title: data.title
    });
    (function (marker, data) {
        google.maps.event.addListener(marker, "click", function (e) {
            infoWindow.setContent(data.description);
            infoWindow.open(map, marker);
        });
    })(marker, data);
}
Run Code Online (Sandbox Code Playgroud)

任何优化建议表示赞赏!

chu*_*gon 6

您在这里有几个选择。Google 的文档建议将可见标记限制为当前视口、聚类(基于距离或网格)或融合表。我已经通过MarkerClusterer模块的自定义实现了谷歌地图,该模块对于一张地图上的大量标记非常有效。祝你好运!