我一直在调试 ESRI 的 ImageryLabels 底图的一个非常不寻常的问题,但到目前为止我还无法确定问题的根本原因。我想知道是否有人有类似的问题。
我想根据 ESRI https://esri.github.io/esri-leaflet/examples/basemap-with-labels.html上的示例显示带有 ImageryTransportation 和 ImageryLabels 图层的 Imagery 底图。
在我的应用程序中,Imagery 底图显示得很好。然而,没有一个标签层这样做。下面是我用来显示图层的代码。
var esriImagery = L.esri.basemapLayer('Imagery').addTo(map); /*This works*/
var esriLabels = L.esri.basemapLayer('ImageryLabels').addTo(map); /*This does not*/
如果我自己加载图像层就可以了。但是,使用完全相同的代码行,只是更改了图层名称,ImageryLabels 图层不会显示。我调查了一下,原因如下:
map.on('baselayerchange', function (e) {
console.log(e.layer);
});
该层实际上已加载,我可以在 console.log() 中看到它。
然而,ImageryLabels 图层中的所有图块的clientWidth设置为零,而不是 256。
- 这种行为只发生在标签图层上,如果我将图层名称更改为其他名称,即NationalGeographic,它可以正常工作,但不适用于任何标签图层。
最后,完全相同的代码在地图全屏并占据整个页面的两个页面上运行良好。此问题仅发生在地图包含在页面上其他内容右侧的 div 中的页面上,可能不相关,但以防万一。
我将包含更多代码,但除了添加底图图层的基本行之外,似乎没有任何意义,因为它适用于除标签图层之外的所有其他底图图层。我缺少的 ESRI 标签层可能有什么特别之处吗?
如果其他人遇到此问题以及任何建议或指示,我将不胜感激。
-