Leaflet.VectorGrid с несколькими интерактивными слоямиJavascript

Форум по Javascript
Ответить
Anonymous
 Leaflet.VectorGrid с несколькими интерактивными слоями

Сообщение Anonymous »

Я создаю слои на основе L.vectorGrid.protobuf(). Каждый слой имеет интерактивный: true. Каждый из них отлично работает при щелчке, наведении и наведении курсора мыши, но только по отдельности.
Когда у меня несколько слоев, только последний добавленный слой имеет интерактивность.
Структура выглядит следующим образом

Код: Выделить всё

vctr_ctrl.js: - define map;
- let  olys  = {};
- define name, url & options;
- await make_layr(name, url, options);
- L.control.layers( {}, olys ).addTo(map);

vctr_make.js:
async function make_layr(name, url, options){
const vectorGridOptions  = {
interactive: true,
getFeatureId: function(feature) { return feature.properties.id; },
vectorTileLayerStyles: { lyrs: options, },
};
olys[name] = L.vectorGrid.protobuf(url, vectorGridOptions)
olys[name].on('mouseover',function (e) {console.log('mouseover:: '})
}
Записывая журнал olys, я вижу, что прослушиватели событий подключены правильно, но наведение курсора мыши срабатывает только на последнем, предположительно верхнем слое.
Как распространить событие на все слои?>

Подробнее здесь: https://stackoverflow.com/questions/798 ... ive-layers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»