Есть ли способ добавить «удалить элемент управления» в буклет l.control.layers? - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть несколько слоев листов, которые я хочу, чтобы пользователь мог добавлять из результатов поиска в БД и динамически удалять. Адд работает нормально. Я знаю, что могу отслеживать слои и использовать кнопку или еще что-нибудь, чтобы удалить слои, но я думаю, что было бы гораздо более интуитивно понятно располагать «x» рядом с меткой на самом элементе управления.

Iпопробовал просто использовать javascript в html 'elements' моего htmlLegend безрезультатно ... Был бы отличный вариант 'allowRemove'. Есть идеи?

    function addMapLayer(layerID, layerName){
        layerLink = "https://tilesblahblah.com/arcgis/rest/services/" + layerID + "/MapServer";
        var layerInstance =  L.esri.tiledMapLayer({
            url: layerLink,
            transparent: true,
            opacity: 0.7,
            minZoom: 8,
            maxZoom: 30
        });     

        controlLayers.addOverlay(layerInstance, layerName);

        htmlLegend.addLegend({
            name: layerName,
            layer: layerInstance,
            elements: [{
                html: '<div class="hexagon" onclick="controlLayers.removeLayer(layerInstance);"></div>'
            }]
        });
        layerInstance.addTo(mapR);  
    }
...