ESRI javascript api 3.18

ESRI javascript api 3.18

在 esri 地图中添加超过 5 个地图图像后,放大 chrome 并且 mozilla 需要很多 cpu。在 chrome 页面特别挂起。如果缩放级别最高,则页面在 chrome 中停止工作。同样在 chrome 中,在图像加载过程中页面变得有些无响应。

    var map = new esri.Map('map', {
                   //center: [6.6032, 53.1917],

                sliderStyle: "large",
                basemap:'Topo',
                 zoom:9,
                maxZoom:14,
                force3DTransforms: true,
                navigationMode: "classic"
              });

            EsriDBImageLayer= new esri.layers.MapImageLayer({  
                'id': 'usgs_basemap_image_overlay'  
            });  
            EsriDBImageLayer.setOpacity(0.7);
            map.addLayer(EsriBaseDBImageLayer);
            //dbImageList is retrieved from webservice with all
            necessary data.

            var tempImageList = dbImageList;
            for(var i=0;i<tempImageList.length;i++){
                   EsriDBImageLayer.addImage(tempImageList[i]);                                      
            }

我终于想出了解决办法。这不是 arcgis-api 的问题,而是浏览器的问题。似乎 google chrome 无法正确处理大分辨率 png 图像文件。因此,如果有超过 10 个分辨率超过 3k 的 png 文件,那么不仅浏览器会挂起,而且还需要 30%+ cpu 的使用。因此,如果可能的话,最好为多个文件加载矢量文件。我有 25 个以上的文件。希望对遇到同样问题的朋友有所帮助