Leaflet 传单像素大小取决于缩放级别

Leaflet 传单像素大小取决于缩放级别,leaflet,Leaflet,我必须在传单地图上显示5x5度饼图。我可以使用great library显示饼图,但我必须以像素为单位提供半径,到目前为止它是静态的 我想让它动态,以便在任何缩放级别,饼图填充5x5正方形(也称为半径=5x5度长度) 根据缩放级别,如何知道5x5度正方形侧面的长度(以像素为单位) 谢谢我使用了以下页面,根据缩放级别提供传单地图上每米像素数: 然后我计算了赤道上一个5x5平方米的长度:556000米。 然后我存储缩放级别的长度比=0: $scope.lengthRatio=556000/1564

我必须在传单地图上显示5x5度饼图。我可以使用great library显示饼图,但我必须以像素为单位提供半径,到目前为止它是静态的

我想让它动态,以便在任何缩放级别,饼图填充5x5正方形(也称为半径=5x5度长度)

根据缩放级别,如何知道5x5度正方形侧面的长度(以像素为单位)


谢谢

我使用了以下页面,根据缩放级别提供传单地图上每米像素数:

然后我计算了赤道上一个5x5平方米的长度:556000米。 然后我存储缩放级别的长度比=0: $scope.lengthRatio=556000/156412//单位:米/像素

最后,根据缩放级别($scope.mapZoom)得到饼图的半径:

var radius=$scope.lengthRatio*Math.pow(2$scope.mapZoom))/2

2是因为我想要的是半径,而不是直径


简单

这将计算出每像素米数

metresPerPixel = 40075016.686 * Math.abs(Math.cos(map.getCenter().lat / 180 * Math.PI)) / Math.pow(2, map.getZoom()+8);