ESRI Leafet ImageryLabels BasemapLayer не отображается - все ширины плитки установлены в 0 - PullRequest
0 голосов
/ 01 ноября 2018

Я отлаживал очень необычную проблему с базовой картой ESRI ImageryLabels, но до сих пор я не смог определить основную причину проблемы. Мне было интересно, если у кого-то была похожая проблема.

Я хочу отобразить базовую карту Imagery вместе со слоями ImageryTranspORT, а также со слоями ImageryLabels, как в примере с ESRI https://esri.github.io/esri-leaflet/examples/basemap-with-labels.html.

В моем приложении базовая карта изображений отображается очень хорошо. Однако ни один из слоев метки не делает. Ниже приведен код, который я использую для отображения слоев.

var esriImagery = L.esri.basemapLayer('Imagery').addTo(map); /*This works*/
var esriLabels = L.esri.basemapLayer('ImageryLabels').addTo(map); /*This does not*/

Если я загружаю слой Imagery самостоятельно, это нормально. Однако при использовании точно такой же строки кода только с измененным именем слоя слой ImageryLabels не отображается. Я исследовал и причина заключается в следующем:

map.on('baselayerchange', function (e) {
console.log(e.layer);
});
  • Слой действительно загружен, и я вижу его в console.log ().

  • Однако для всех плиток в слое ImageryLabels clientWidth имеет нулевое значение, а не 256.

  • Это происходит только со слоями меток, если я изменяю имя слоя на что-то другое, т.е. NationalGeographic , это работает просто отлично, но не для любого из слоев меток.

Наконец, точно такой же код прекрасно работает на двух страницах, где карта работает на весь экран и занимает всю страницу. Эта проблема возникает только на странице, где карта содержится в элементе div, расположенном справа от другого содержимого на странице, вероятно, не релевантного, но на всякий случай.

Я бы добавил больше кода, но помимо базовой линии для добавления слоя базовой карты, похоже, нет смысла, поскольку он отлично работает для всех остальных слоев базовой карты, кроме слоев меток. Есть ли что-то особенное в слоях меток ESRI, которые мне не хватает?

Буду признателен, если кто-то еще сталкивался с этой проблемой, а также любые советы или указатели.

-

1 Ответ

0 голосов
/ 05 ноября 2018

Если вы можете собрать упрощенный воспроизводимый контрольный пример, это было бы очень полезно, потому что я не вижу ошибки, которую вы описываете здесь:

const map = L.map('map').setView([45.528, -122.680], 13);
L.esri.basemapLayer("Imagery").addTo(map);
L.esri.basemapLayer("ImageryLabels").addTo(map);
L.esri.basemapLayer("ImageryTransportation").addTo(map);

https://jsbin.com/cijafog/edit?html,output

...