Sandeep Kumar
Sandeep Kumar

Reputation: 274

How to unbind tooltip on leaflet on zooming out beyond a level

I want to write code that unbinds tooltip when map is zoomed above a zoom level, the problem is the following code is not working i have tried closeTooltip() and unbindTooltip().

map.on('zoomend', function() {
        var zoom = map.getZoom();
        if( map.hasLayer(zipcodeslayer) ) {
            zipcodeslayer.eachLayer( function (layer){
                console.log(layer);
                if ( zoom >= 14 ) {
                    tooltiptext = layer.feature.properties.ZCTA5CE10;
                    layer.bindTooltip(tooltiptext , { sticky: true ,permanent: true, interactive: false , direction: 'center'});
                } else {
                    //if () {
                    console.log('remove tooltip');
                    layer.closeTooltip();;
                    //}
                }
            });
        }
    })

Upvotes: 1

Views: 6013

Answers (1)

Sandeep Kumar
Sandeep Kumar

Reputation: 274

Oh its working now by following code :

map.on('zoomend', function() {
        var zoom = map.getZoom();
        if( map.hasLayer(zipcodeslayer) ) {
            zipcodeslayer.eachLayer( function (layer){
                //console.log(layer);
                if ( zoom >= 12 && (!layer.getTooltip()) ) {
                    tooltiptext = '<b>'+layer.feature.properties.ZCTA5CE10+'</b>';
                    layer.bindTooltip(tooltiptext , { sticky: true ,permanent: true, interactive: false , direction: 'center', className: 'zipcodes'});
                } else if ( zoom < 12 && (layer.getTooltip()) ) {
                    //console.log('remove tooltip');
                    layer.unbindTooltip();
                }
            });
        }
    });

Upvotes: 3

Related Questions