Reputation: 274
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
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