3

我正在开发一个 windows phone 8 应用程序,我在 xaml 页面上放置了一个地图控件,而在模拟器中运行它时,只显示一个蓝色方框代替地图。

输出屏幕:https ://docs.google.com/file/d/0By0Y-Dca1cKjVG1QQUY3MVBQcFk/edit?usp=sharing

主页.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);
        }
4

3 回答 3

0

You haven't added capabilities.

Go to WMAppManifest - Capabilities and Check:

ID_CAP_LOCATION ID_CAP_MAP

于 2013-08-30T12:09:00.990 回答
0

你的代码是正确的。这可能是因为模拟器没有网络连接造成的。您可以通过在模拟器上打开 Web 浏览器并导航到某个页面来检查模拟器的网络连接。

如果您的模拟器没有网络连接,可能是由于不同的原因。您可能会发现以下有关 MSDM 的文档很有帮助:

Windows Phone 8 模拟器故障排除

我已经在具有网络连接的真实设备上尝试了您的代码,它似乎可以正常工作。这就是我所看到的:

在此处输入图像描述

于 2013-08-30T14:09:54.320 回答
0

尝试设置地图缩放级别,它可能会向您显示海洋。

如果您已授予 Internet 访问功能和定位功能,还请检查清单。

于 2014-10-11T06:56:12.430 回答