I show some text on map, I did this by this example
Rotate Lealfet markers tooltip text
I need to see smaller text if zoom out and text should be larger when I zoom in.
mymap.on('zoomend', function () {
var zoomLevel = mymap.getZoom();
var tooltip = $('.leaflet-tooltip');
switch (zoomLevel) {
case -2:
tooltip.css('font-size', 7);
break;
case -1:
tooltip.css('font-size', 10);
break;
case 0:
tooltip.css('font-size', 12);
break;
case 1:
tooltip.css('font-size', 14);
break;
case 2:
tooltip.css('font-size', 16);
break;
case 3:
tooltip.css('font-size', 18);
break;
default:
tooltip.css('font-size', 14);
}
}
I guess this is not by the book solution and I want to ask for a better way for changing font size dynamically to follow map size on zoom in or zoom out.
So I just change event from zoomend
to zoomstart
and there is no more big time gap between zooming and font changing.
mymap.on('zoomstart', function () {
var zoomLevel = mymap.getZoom();
var tooltip = $('.leaflet-tooltip');
switch (zoomLevel) {
case -2:
tooltip.css('font-size', 7);
break;
case -1:
tooltip.css('font-size', 10);
break;
case 0:
tooltip.css('font-size', 12);
break;
case 1:
tooltip.css('font-size', 14);
break;
case 2:
tooltip.css('font-size', 16);
break;
case 3:
tooltip.css('font-size', 18);
break;
default:
tooltip.css('font-size', 14);
}
});