Ярлыки листовок сверху

#javascript #leaflet #arcgis #esri-leaflet

#javascript #листовка #arcgis #esri-листовка

Вопрос:

Я новичок в leaflet и хотел бы получить несколько советов. Я использую карту UN Clear в качестве базовой карты, к которой я добавляю несколько полигонов, используя слой GeoJSON. Я узнал о приятном трюке здесь, используя панели карты, чтобы получить метки поверх полигонов. Я пытаюсь воссоздать это с помощью карты UN Clear, но метки остаются под полигонами. Я не получаю никаких сообщений об ошибках. Я думаю, что, возможно, я неправильно ссылаюсь на слой labels, но не знаю, как мне это сделать.

Упрощенный код:

 map = L.map('map', {
    minZoom: 3,
    maxZoom: 10,
    worldCopyJump: true
    });

map.createPane('labels');
map.getPane('labels').style.zIndex = 850;

const mapLayer = esri.tiledMapLayer({
    url: "https://geoservices.un.org/arcgis/rest/services/ClearMap_WebTopo/MapServer/",
    maxZoom: 10,
    }).addTo(map);
map.setView([0, 0], 3);

const colorLayer = (L as any).geoJSON(GeoJsonData, geoJsonOptions).addTo(map);

const labelLayer = esri.tiledMapLayer({
    url:'https://geoservices.un.org/arcgis/rest/services/ClearMap_WebTopo/MapServer/0',
    pane: 'labels'}).addTo(map);
 

Комментарии:

1. Я не думаю, что ООН вообще предоставляет базовую карту без меток (или прозрачную только с метками) . Это обязательное условие для отображения их как двух разных L.TileLayer s в двух разных областях карты.


Ответ №1:

@IvanSanchez правильно. Если вы посмотрите на определение картографического сервиса для этого слоя (https://geoservices.un.org/arcgis/rest/services/ClearMap_WebTopo/MapServer ), вы увидите Поддерживает динамические слои: false. Насколько я могу судить, это означает, что подслои не могут быть выделены и встроены в новые динамические слои. Вы можете прочитать немного больше об этом здесь: возможности esri TileLayer

К сожалению, вам нужно будет либо создавать эти слои с нуля, используя их базовые данные в качестве функциональных слоев (это смехотворный объем работы, и я ни капельки не рекомендую это делать), либо вам придется искать другие слои базовой карты / ярлыков, которые вам нравятся.

Мне удалось найти то, что выглядит как просто базовый уровень в ArcGIS Online, здесь, но, похоже, оно недоступно для общественности. Я бы на самом деле связался с сайтом ООН, на который вы ссылались, и посмотрел, знает ли кто-нибудь там, как вы можете получить доступ только к базовому уровню. Вероятно, подойдет любой ссылочный слой поверх этого.

Извините за плохие новости.

Комментарии:

1. Большое вам обоим спасибо. Вы сэкономили мне немного времени, и я тоже кое-чему научился.