如何将地图控件添加到 Windows Phone 8 中的页面中

来源:互联网 发布:手机刷机怎么恢复数据 编辑:程序博客网 时间:2024/05/16 11:08

如何将地图控件添加到 Windows Phone 8 中的页面中

此主题尚未评级 评价此主题

2012/12/11

适用于:仅限于 Windows Phone 8。

本主题描述向 Windows Phone 8 项目添加 Map 控件的各种方法。Map 控件属于 Windows Phone SDK 8.0 中库的一部分。由于 Map 控件不是内存中的核心控件,因此必须先正确引用它,然后才能使用它。在将控件添加到项目之前,您还必须添加 ID_Cap_Map 功能。

本主题包含以下各节。

  • 添加地图功能
  • 使用工具箱添加地图控件
  • 使用 XAML 添加地图控件
  • 使用代码添加地图控件
  • 添加 ApplicationID 和 AuthenticationToken
  • 相关主题
添加地图功能

您必须在添加 Map 控件之前添加 ID_Cap_Map 功能。

添加 ID_Cap_Map 功能

  1. 在 Visual Studio 2012 中,创建一个名为 MapApplication 的新的 Windows Phone 8 项目。

  2. 在 MapApplication 项目中,单击“属性”文件夹,然后双击“WMAppManifest.xml”文件。

  3. “WMAppManifest.xml”文件中,单击“功能”选项卡。

  4. “功能”表中,选择“ID_Cap_Map”功能。

使用工具箱添加地图控件

若要添加 Map 控件并正确引用它,最简单的方法是将它从“工具箱”拖放到 XAML 设计器或 XAML 视图中。

从工具箱添加地图控件

  1. 在 MapApplication 项目中,打开“工具箱”,然后打开“所有 Windows Phone 控件”

  2. 将 Map 控件从“工具箱”拖到 XAML 或设计器视图中。

    Visual Studio 会自动执行以下任务。

    • 添加对 Microsoft.Phone.Maps 程序集的引用。

    • 在 XAML 页的 <phone:PhoneApplicationPage> 开始标记中,添加以下针对 SDK 命名空间的 XAML 命名空间声明。

      XAML
      xmlns:Controls="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
    • 如果您将控件拖到 XAML 视图中,则将以下 XAML 添加到您的页中。

      <Controls:Map />

      - 或 -

    • 如果您将控件拖到设计视图中,则添加以下 XAML。

      XAML
      <Controls:Map HorizontalAlignment="Left" Margin="158,265,0,0" VerticalAlignment="Top"/>
使用 XAML 添加地图控件

若要使用 XAML 手动添加 Map 控件,您必须首先添加对 Microsoft.Phone.Maps 程序集的引用,然后您必须将一个 XML 命名空间映射到程序集。

在 Visual Studio 中添加对 Microsoft.Phone.Maps 程序集的引用

  1. 在 MapApplication 项目中,单击“项目”菜单,然后选择“添加引用”

  2. “引用管理器”对话框中,单击“浏览”

  3. 浏览至 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0。

  4. 双击 Microsoft.Phone.Maps.dll 文件。

  5. 单击“确定”

添加 XML 命名空间映射

  1. 打开 MainPage.xaml。

  2. 在 XAML 页的 <phone:PhoneApplicationPage> 开始标记中,添加以下针对 SDK 命名空间的 XAML 命名空间声明。

    XAML
    xmlns:Controls="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"

使用 XAML 添加地图控件

  1. 打开 Mainpage.xaml。

  2. 将下列 XAML 添加到 ContentPanel 网格。

    XAML
    <Controls:Map></Controls:Map>
使用代码添加地图控件

一旦有了对 Microsoft.Phone.Maps 程序集的引用,就可以使用代码添加 Map 控件了。下列示例创建一个名为 MyMap 的 Map,并将其添加到 ContentPanel 网格。

使用代码添加地图控件

  1. 打开 MainPage.xaml.cs。

  2. 添加以下 using 语句。

    Using Microsoft.Phone.Maps.Controls;
  3. 添加以下代码。

    C#
    public MainPage(){   InitializeComponent();   Map MyMap = new Map();   ContentPanel.Children.Add(MyMap);}
添加 ApplicationID 和 AuthenticationToken

您必须先从 Windows Phone 开发人员中心 中获取 ApplicationId 和 AuthenticationToken,并且将值添加进您的代码,才能发布使用地图控件的应用。您获取的值特定于您为之发出请求的单个应用。

从 开发人员中心 中获取 ApplicationID 和 AuthenticationToken 的步骤

  1. 当您完成您的应用之后,即可开始应用的提交过程。

  2. “提交应用”页面上,点击“地图服务”

    “地图服务”页面打开。

  3. 在 页面上,单击“获取标记”

    新的 ApplicationID 和 AuthenticationToken 显示在同一页面上。

  4. 将值复制并粘贴进您的代码中,如下所示。

  5. 用新代码重建您的应用,然后将更新后的副本上载至 商店。

在第一个地图控件加载(不仅仅是实例化)之后,您必须设置 ApplicationId 和 AuthenticationToken 属性的值。如果您销毁应用中地图控件的所有实例,然后创建新的实例,那么您必须再次设置这些属性。

在您的代码中指定 ApplicationID 和 AuthenticationToken 的步骤

  1. 在 Visual Studio 您的代码中,创建地图控件的加载事件的事件处理程序。

  2. 复制您从 开发人员中心 中获取的每一个值,将它们分配至各自的属性,如以下代码所示:

    C#
            private void myMapControl_Loaded(object sender, RoutedEventArgs e)        {            Microsoft.Phone.Maps.MapsSettings.ApplicationContext.ApplicationId = "ApplicationID";            Microsoft.Phone.Maps.MapsSettings.ApplicationContext.AuthenticationToken = "AuthenticationToken";        }
另请参见

参考

Map

其他资源

Windows Phone 8 地图和导航
如何将 UIElements 添加到 Windows Phone 8 中的地图控件中
如何在 Windows Phone 8 中的地图中显示路线和方向
原创粉丝点击