我正在开发一个Windows Phone 8应用程序,我已经在xaml页面上放置了一个地图控件,而在模拟器中运行它时只显示一个蓝色方框来代替地图。
输出屏幕:https://docs.google.com/file/d/0By0Y-Dca1cKjVG1QQUY3MVBQcFk/edit?usp=sharing
MainPage.xaml中
<phone:PhoneApplicationPage
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
x:Class="MapTestApp.MainPage"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="False">
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
<TextBlock Text="Bing Map" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<maps:Map />
</Grid>
</Grid>
</phone:PhoneApplicationPage>
MainPage.xaml.cs中
public MainPage()
{
InitializeComponent();
Map MyMap = new Map();
MyMap.Center = new GeoCoordinate(47.6097, -122.3331);
MyMap.ZoomLevel = 3;
MyMap.LandmarksEnabled = true;
MyMap.PedestrianFeaturesEnabled = true;
MyMap.CartographicMode = MapCartographicMode.Aerial;
ContentPanel.Children.Add(MyMap);
}
答案 0 :(得分:0)
您尚未添加功能。
转到WMAppManifest - 功能和检查:
ID_CAP_LOCATION ID_CAP_MAP
答案 1 :(得分:0)
您的代码是正确的。这可能是因为模拟器没有网络连接。您可以通过在其上打开Web浏览器并导航到页面来检查模拟器的网络连接。
如果您的模拟器没有网络连接,可能是因为原因不同。您可以在MSDM上找到以下有用的文档:
Troubleshooting the Windows Phone 8 Emulator
我已经在具有网络连接的真实设备上尝试了您的代码,它似乎正常工作。这就是我所看到的:
答案 2 :(得分:0)
尝试设置地图缩放级别,可能会向您显示海洋。
如果您已授予Internet访问权限和定位功能,请检查清单。