多个标记使浏览器崩溃

Multiple Markers crashing Browsers

本文关键字:浏览器 崩溃      更新时间:2023-09-26

我正在谷歌地图上加载大约15000个标记。

我使用每秒时间间隔检索了1000个标记。

当它完成并在地图上加载15000个标记时,它就会崩溃浏览器。

那么,我要为这个问题做些什么呢。

请不要投反对票。

 for (x in dataObject) {
        var infowindow = new google.maps.InfoWindow();
        var markerPosition = new google.maps.LatLng(dataObject[x].Latitude, dataObject[x].Longitude);
        var scaleSize = getSectorSize(dataObject[x].Mapinfo_Sector_Size);
        var sectorColor = getSectorColor(dataObject[x].Radios);
        var pathValue = createPie(dataObject[x].MapInfo_Beamwidth);
        marker = new google.maps.Marker({
            position: markerPosition,
            map: map,
            icon: {
                path: pathValue,
                fillColor: sectorColor,
                fillOpacity: 1,
                strokeColor: '',
                strokeWeight: 0,
                //scale: 0.8,
                scale: dataObject[x].Mapinfo_Sector_Size + 0.04,
                anchor: new google.maps.Point(0, 0),
                rotation: 250 + dataObject[x].Azimuth,
                //rotation: 250,
            },
        });

我自己正在做一个谷歌地图项目,当标记的数量增加到500个以上时,我遇到了性能问题。

谷歌地图文档本身提供了一些有效的解决方案,其中我使用了MarkerClusterv3,它提供了一种管理大量标记的好方法但是,使用MarkerCluster不会改善您的性能问题

如果你仍然想在一个视口中向用户显示15000个标记(从用户体验的角度来看,这本身听起来并不正确),那么你可以考虑将标记添加到覆盖图中,这个博客

如何在不杀死地图的情况下快速添加许多标记

提供了在地图上方添加重叠(div)并向div添加标记的合理解决方案。博客还提供了加载1000个标记的示例。我不确定这种情况是否会在15000时持续:)

希望这能有所帮助。