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