Windows 10のCreatorsのアップグレード(ビルド15063)後、UWPアプリケーションのMapControlの子はマップ自体を移動またはズームするときにマップ上で修正されなくなりました。 特定のズームレベルから、地図をズームしたときの動作の違いに気付きました。その点から、視覚的な「地球」効果が注目に値する。説明が難しいですが、地図は私の意見では純粋な平面(2D)ではありません。W10クリエーターの更新後にUWP MapControlの子が固定されていない
マップを移動やズーム時にレーダーオーバーレイが同じ位置にとどまる見ることができるように、ビルド14393で、ここで所望の出力を参照してください: 画像:ビルド15063上https://www.regenthetin.nl/files/desired_behaviour_v14393.gif
望ましくない出力、オーバーレイはゆっくり動きます 画像::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);
}
私は数時間のためにそれで調べましたが、私は今のところ解決策を見つけることができませんでした。私は誰かが私を助けることを願っています
Dev config:Visual Studio 2017 i.c.m Windows 10 CreatorsはSDKを更新します。
プロジェクト内のターゲットSDKとは何ですか? –
こんにちはStefano、私は新しいビルド(15063)に目標を変更しました。しかし、MapControlの動作は、下位バージョンを対象とする場合と同じです。非常に迷惑です。利用可能なソリューションがない場合は、Googleマップに切り替えて、ブラウザ要素に埋め込みます。失望ですが、同じユーザーエクスペリエンスを保証する唯一の方法です。あなたは他の提案がありますか? –
これはバグです。古いSDKをターゲットにした場合、その動作は変更しないでください。 このバグをMicrosoftに報告する必要があります。 –