在WindowsPhone8中缩放MapOvleray
本文关键字:MapOvleray 缩放 WindowsPhone8 | 更新日期: 2023-09-27 18:36:30
我想在放大或缩小地图时缩放地图叠加层内容。地图缩放由地图的缩放级别控制。有谁知道一个公式,可以将地图叠加中的图像缩放到与地图相同的数量?
我正在寻找类似的东西
public void OnZoomLevelChanged()
{
img.Width = initialWidth * Map.ZoomLevel * [someRatioFactor]
img.Height= initialHeight * Map.ZoomLevel * [someRatioFactor]
}
有关缩放/缩放级别的详细信息,请参阅此处
http://msdn.microsoft.com/en-us/library/aa940990.aspx
如果需要在每次放大/缩小时缩放到每个像素的正确距离,则可以使用以下函数:
public static double MetersToPixels(double meters, double latitude, double zoomLevel)
{
var pixels = meters / (156543.04 * Math.Cos(latitude) / (Math.Pow(2, zoomLevel)));
return Math.Abs(pixels);
}
对于在现实世界中应用零食解决方案的每个人 szenario:
Math.Cos(double)
期望弧度角。如果你从中得到纬度,让我们说
Geopoint.Latitude
这是你需要像这样纠正它的度数:
public static double MetersToPixels(double meters, double latitude, double zoomLevel)
{
var pixels = meters / (156543.04 * Math.Cos(Math.PI / 180 * latitude) / (Math.Pow(2, zoomLevel)));
return Math.Abs(pixels);
}
希望这不属于评论,或者我应该编辑零食帖子?