在 Windows 10 Creators 升级(内部版本 15063)之后,我的 UWP 应用程序中的 MapControl 子项在移动或缩放地图本身时不再固定在地图上。从特定的缩放级别,我注意到在地图上缩放时的行为有所不同。从那时起,就会出现明显的视觉“地球”效应。很难描述,但在我看来,这张地图并不是纯平面(2D)的。
在此处查看构建 14393 上的所需输出,因为您可以看到雷达覆盖在移动或缩放地图时保持在同一位置:图片:https ://www.regenthetin.nl/files/desired_behaviour_v14393.gif
在构建 15063 上出现不希望的输出,覆盖随着地图缓慢移动:图片:https ://www.regenthetin.nl/files/undesired_behaviour_v15063.gif
负责的代码块:
片段 1
// Add children to MapControl at specified location
var radarImgPosition = new Geopoint(new BasicGeoposition()
{
Latitude = 59.60,
Longitude = -12.00
});
RadarMap.Children.Clear();
if (RadarMap.Children.Count == 0)
{
RadarMap.Children.Add(radarImg);
MapControl.SetLocation(radarImg, radarImgPosition);
}
片段 2
private void RadarMap_ZoomLevelChanged(MapControl sender, object args)
{
Windows.Foundation.Point southWestPoint;
RadarMap.GetOffsetFromLocation(new Geopoint(new BasicGeoposition()
{
Longitude = -11.9687,
Latitude = 46.9106
}), out southWestPoint);
Windows.Foundation.Point northEastPoint;
RadarMap.GetOffsetFromLocation(new Geopoint(new BasicGeoposition()
{
Longitude = 15.5080,
Latitude = 60.0247
}), out northEastPoint);
double radarImgWidth = northEastPoint.X - southWestPoint.X;
double radarImgHeight = Math.Abs(northEastPoint.Y - southWestPoint.Y);
DisplayInformation displayInformation = DisplayInformation.GetForCurrentView();
double scaleValue = (displayInformation.RawPixelsPerViewPixel * 100.0);
radarImg.Height = (radarImgHeight) / (scaleValue / 100);
radarImg.Width = (radarImgWidth) / (scaleValue / 100);
}
我已经调查了几个小时,但到目前为止我还没有找到解决方案。我希望有一个人可以帮助我!
开发配置:Visual Studio 2017 icm Windows 10 Creators 更新 SDK。