Bing Maps Control无法添加构建应用程序包的地图图标

时间:2018-08-14 12:20:25

标签: c# exception uwp bing-maps uwp-maps

我正在尝试将MapIcon添加到我的Bing地图控件中。在Visual Studio的调试环境中运行应用程序时,没有任何问题。但是,一旦我构建了应用程序包并运行它,添加地图图标就会使应用程序崩溃,并引发此异常,内容为:

“无法将类型为Windows.UI.Xaml.Controls.Maps.MapIcon的对象强制转换为类型为Windows.UI.Xaml.Controls.Maps.IMapElement4”

这是实例化MapIcon的简单代码。重要的是要知道我在调试模式下添加这些映射图标没有任何问题。仅在构建并运行应用程序包后,问题才会存在。在发布的应用程序运行时,我可以使用try / catch来显示异常,从而查明异常。如果有人可以帮助我摆脱此异常,或者有任何建议可以解决,那么将不胜感激

 MapIcon messageicon2_2 = new MapIcon
                    {
                        Location = message_position,
                        NormalizedAnchorPoint = new Point(0.5, 1.0),
                        ZIndex = 0,
                        Title = "msg " + count + "(2.2)",
                        IsEnabled = true,                            
                        CollisionBehaviorDesired = MapElementCollisionBehavior.RemainVisible
                    };

                    MyWaypoints.Add(messageicon2_2);
                    messageLayer.MapElements = MyWaypoints;

[澄清说明]:我知道此错误专门来自Mapicon的实例化。该代码在Windows 10 17134计算机上发布并在Windows 10 17134计算机上运行时可以正常工作。...我需要它运行的计算机是Windows 1016299。该计算机无法更新为Windows的较新版本。我需要一种在旧版Windows上显示这些地图图标的方法。

1 个答案:

答案 0 :(得分:1)

异常指向Windows OS版本1803(17134)已添加到IsEnabled的{​​{1}}属性。参见MapElement.IsEnabled Property

我知道例外不是最有帮助的,但是也许还有其他关于它的警告被遗漏了?

对于这样的错误,您可以删除缺少的API的所有使用,和/或确保编写可以在最低OS版本上运行的version adaptive code,同时还可以利用可用的选定功能仅在某些操作系统版本上。

具体来说,您可以执行以下操作:

MapElement