Страница 1 из 1

Leaflet: как указать, при каком зуме показывать слой geojson

Добавлено: 15 сен 2013, 20:56
lenny314156
Собственно, вопрос в заголовке. Хочу, чтобы объекты geoJSON начинали показываться при определенном уровне зума, а не на всех сразу. Как бы это сделать? minZoom и maxZoom, как я понял, слой такого типа не имеет?

Re: Leaflet: как указать, при каком зуме показывать слой geo

Добавлено: 15 сен 2013, 21:35
lenny314156
Нашел на просторах сети такой вариант решения:

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

map.on('zoomend ', function(e) {
         if ( map.zoom > 13 ){ map.removeLayer( vector )}
         else if ( map.zoom <= 13 ){ map.addLayer( vector )}
    });
Как я понимаю (не очень силен в JavaScript), vector здесь - название слоя, ранее объявленного в var, но проблема в чем - опытным путем добавления еще одного условия

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

else {alert('что-нибудь')}
выяснил, что не выполняется проверка на map.zoom ><= 13, т.к. при любом изменении зума я вижу этот алерт:( Может проблема в разных типах данных, может еще в чем, подскажите плиз...

Re: Leaflet: как указать, при каком зуме показывать слой geo

Добавлено: 19 сен 2013, 15:13
V.Maxim
судя по всему, map.zoom это просто переменная, которая вызывает map.getZoom() для определения текущего зума (описание)
посмотрите дополнительные плагины, например это
а такая вставка без остального кода работать и не будет..