我正在尝试使用以下指南在我的 PC 上运行一个简单的 UWP 应用程序来测试地图控件:
我从 Bing 地图开发中心获得了地图键并将其分配给地图控件。
但是,在设计器中,控件显示为“仅在应用程序运行时启用此元素”消息。
当我运行应用程序时,应用程序屏幕上没有显示任何内容。
为了检查地图是否已加载,我为地图的 Loaded 事件添加了一个处理程序,以在输出窗格上显示一条消息,并且该消息显示正常。
public MainPage()
{
this.InitializeComponent();
MapMain.Loaded += MapMain_Loaded;
}
private void MapMain_Loaded(object sender, RoutedEventArgs e)
{
Debug.WriteLine("Map is loaded!");
}
这是我的 XAML 代码:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TestMap"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Maps="using:Windows.UI.Xaml.Controls.Maps"
x:Class="TestMap.MainPage"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Maps:MapControl HorizontalAlignment="Left" Margin="404,86,0,0" VerticalAlignment="Top"
x:Name="MapMain"
MapServiceToken="<My Map Key Is Here!>"
ZoomInteractionMode="GestureAndControl"
TiltInteractionMode="GestureAndControl" CacheMode="BitmapCache" CanDrag="True"/>
</Grid>
</Page>
关于可能是什么问题以及如何解决问题的任何想法?谢谢
<<< 更新(2017 年 1 月 25 日)>>>
我根据@Sunteen 和@Aditya 的回答更改了地图的宽度和高度属性。但是,我只看到一个空白地图框,如下图所示。我只看到地图背景。
<<< 更新(2017 年 1 月 27 日)>>>
根据 Aditya 的建议,我在下面添加了我的 XAML 代码以包括我所做的更改:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TestMap"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Maps="using:Windows.UI.Xaml.Controls.Maps"
x:Class="TestMap.MainPage"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Maps:MapControl HorizontalAlignment="Left" Margin="92,53,0,0" VerticalAlignment="Top"
x:Name="MapMain"
MapServiceToken="<<<My Map Key>>>"
Height="400"
Width="400"
ZoomInteractionMode="GestureAndControl"
TiltInteractionMode="GestureAndControl" Background="#FF3BCFCF" ZoomLevel="2"/>
</Grid>
</Page>