admin管理员组文章数量:1335103
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.
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.
Share Improve this question asked Dec 22, 2017 at 14:46 Stevan TosicStevan Tosic 7,24913 gold badges64 silver badges120 bronze badges 6- Your current solution seems good to me. Why do you want to change it? – Halcyon Commented Dec 22, 2017 at 14:47
- There is a time gap between zoom before font size is changed :/ – Stevan Tosic Commented Dec 22, 2017 at 14:49
-
Then change it to
zoomstart
? – Halcyon Commented Dec 22, 2017 at 14:50 -
Good point! There are known data for next zoom level on
zoomstart
or there is data only for direction where zoom goes? – Stevan Tosic Commented Dec 22, 2017 at 14:52 - Check the event properties. I have no experience with leaflet. – Halcyon Commented Dec 22, 2017 at 14:54
1 Answer
Reset to default 6So 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);
}
});
本文标签: javascriptDynamic change fontsize in Leaflet marker tooltip text on zoom changeStack Overflow
版权声明:本文标题:javascript - Dynamic change font-size in Leaflet marker tooltip text on zoom change - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742366825a2461454.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论