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

本主题介绍了各种方法来添加一个地图控件到Windows Phone 8的项目。该地图控件在Windows Phone的SDK 8.0的库的一部分。因为地图的控制是不是在内存中的核心控制,它必须被正确引用,然后才能使用它。您还必须添加一个ID_Cap_Map功能之前,你的控件添加到项目中。

提示:

本主题介绍如何编写一个显示你的地图应用程序内部的代码。如果你只是想显示的地图,您还可以使用地图的任务,这将启动内置的地图应用程序。欲了解更多信息,请参阅如何使用地图任务的Windows Phone

 

有关演示一些本主题中描述的任务样品,下载简单的地图控件示例

对于有用的扩展到地图API,其中包括一个图钉,下载Windows Phone的工具包

本主题包含以下各节。

您必须添加一个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能力。

添加一个最简单的方法地图控制并正确引用它是从将它拖到工具箱,并将其拖放到你的XAML设计或XAML视图。

从工具箱中添加一个地图控件

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

  2. 从工具箱,拖动地图控件的XAML或设计器视图。

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

    • 增加了一个参考Microsoft.P​​hone.Maps装配。

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

       
      的xmlns:控制=“CLR命名空间:Microsoft.P​​hone.Maps.Controls;装配= Microsoft.P​​hone.Maps”
      
    • 添加以下XAML到你的页面,如果你拖动控件到XAML视图。

      <Controls:Map />

      - 或 -

    • 如果你拖动控件到设计视图中添加以下XAML。

       
      < 控制:地图 HorizontalAlignment = “ 左“  保证金= “ 158,265,0,0 “  垂直对齐= “ 顶“ />
      

要添加一个地图使用XAML手动控制,必须先添加一个引用到Microsoft.Phone.Maps组装,然后你必须在XML命名空间映射到程序集。

要添加一个引用到Microsoft.P​​hone.Maps装配在Visual Studio

  1. 在你的MapApplication项目中,右键单击项目菜单,然后选择添加引用。

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

  3. 浏览到C:\程序文件(x86)\引用程序集\微软\框架\ WindowsPhone的\ V8.0。

  4. 双击Microsoft.P​​hone.Maps.dll文件。

  5. 单击OK(确定)。

要添加一个XML命名空间映射

  1. 打开MainPage.xaml。

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

     
    的xmlns:控制=“CLR命名空间:Microsoft.P​​hone.Maps.Controls;装配= Microsoft.P​​hone.Maps”
    

若要使用XAML添加地图控件

  1. 打开MainPage.xaml。

  2. 添加以下XAML到ContentPanel的网格。

     
    < 控制:地图> </ 控制:地图>
    

一旦你有一个参考Microsoft.Phone.Maps组装,您可以添加地图使用代码控制。下面的示例创建一个地图名为MYMAP控件,然后将其添加到ContentPanel的网格。

使用代码添加地图控件

  1. 打开MainPage.xaml.cs中。

  2. 添加下面的使用说明。

     
     
    使用Microsoft.P​​hone.Maps.Controls;
    
  3. 添加下面的代码。

     
    公共炫魅()
    {
    的InitializeComponent();
    地图MYMAP = 新地图();
    ContentPanel.Children.Add(MYMAP);
    }

在您可以发布使用地图控件的应用程序,你必须得到一个ApplicationIdAuthenticationToken从Windows Phone的开发中心,并添加值到你的代码。你得到的值是特定于各个应用程序,而您提出要求。

为了得到一个ApplicationID和AuthenticationToken从开发中心

  1. 当您完成您的应用程序,开始应用程序提交过程。

  2. 在提交应用程序页面,单击地图服务。

    该地图服务开启页面。

  3. 在页面上,单击获取令牌。

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

  4. 复制值和下面的过程描述它们粘贴到你的代码。

  5. 新的代码,上传和更新拷贝到存储重建您的应用程序。

你必须设置两个值ApplicationIdAuthenticationToken第一个地图控件加载后,不只是实例化的属性。如果你在破坏你的应用程序中的地图控件的所有实例,然后创建一个新的实例,你必须重新设置这些属性。

要指定ApplicationID和AuthenticationToken在你的代码

  1. 在Visual Studio中,在你的代码中,创建一个事件处理程序的地图控件的Loaded事件。

  2. 每个复制您从开发中心获得的,并将其分配到各自的属性值,如显示在下面的代码:

     
            私人 无效 myMapControl_Loaded(对象发件人,RoutedEventArgs五)
            {
                Microsoft.Phone.Maps.MapsSettings.ApplicationContext.ApplicationId = “ApplicationID” ;
                Microsoft.Phone.Maps.MapsSettings.ApplicationContext.AuthenticationToken = “AuthenticationToken” ;
            }

继续使用的地图服务是由被统治者使用的条款。微软可能会与诺基亚正在使用的地图服务,因为诺基亚提供一些服务的开发者ID的分享。

 

如何添加地图控件到Windows Phone 8的页面中的更多相关文章

  1. 使用XAML在WPF项目中承载ArcGIS Engine地图控件开发

    原文 http://blog.csdn.net/flexmapserver/article/details/5868882 用Windows Form进行ArcGIS Engine二次开发时常见的形式 ...

  2. 如何屏蔽SkylineGlobe提供的三维地图控件上的快捷键

    SkyllineGlobe提供的 <OBJECT ID=" TerraExplorer3DWindow" CLASSID="CLSID:3a4f9192-65a8- ...

  3. Windows Phone 8, 添加Map控件

    摘要: 1. 添加Map控件到程序. 2. 在Map控件中显示您当前的位置. 内容: 首先在WMAppManifest.xml中的Capabilities选项卡中勾选如下两项:ID_CAP_MAP, ...

  4. [WP8.1UI控件编程]Windows Phone XAML页面的编译

    1.1.2 XAML页面的编译 Windows Phone的应用程序项目会通过Visual Studio完成XAML页面的编译,在程序运行时会通过直接链接操作加载和解析XAML,将XAML和过程式代码 ...

  5. [WP8.1UI控件编程]Windows Phone理解和运用ItemTemplate、ContentTemplate和DataTemplate

    2.2.5 ItemTemplate.ContentTemplate和DataTemplate 在理解ItemTemplate.ContentTemplate和DataTemplate的关系的之前,我 ...

  6. Corelocation及地图控件学习笔记

    Corelocation基本使用 在地图章节的学习中,首先要学的便是用户位置定位,因此我们首先要掌握Corelocation的使用.(在IOS8以前可以系统会直接请求授权,现在需要我们自己调用方式通知 ...

  7. 【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

    原文:[高德地图API]从零开始学高德JS API(二)地图控件与插件——测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装 ...

  8. Visual Studio 2008 添加MScomm控件的方法

    1.下载MSCOMM.zip,解压后包含4个文件:MSCOMM32.OCX, MSCOMM.SRG, MSCOMM32.DEP, MSCOMM32.OCA 2.将Mscomm.srg, Mscomm3 ...

  9. WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)

    Windows Community Toolkit 再次更新到 5.0.以前可以在 WPF 中使用有限的 UWP 控件,而现在有了 WindowsXamlHost,则可以使用更多 UWP 原生控件了. ...

随机推荐

  1. Android中ListView.getCount()与ListView.getChildCount()区别和OnScrollListener()各个参数的区别

    istView.getCount()(实际上是 AdapterView.getCount()) 返回的是其 Adapter.getCount() 返回的值.也就是“所包含的 Item 总个数”. Li ...

  2. 如果一个Object对象可能是集合或者数组那么如何对其进行迭代

    需求:一个方法传入的参数是Object类型(假设对象为“items”,使用Object类型也是为了使用多态而增加方法复用性),但已知这个Object对象可能是集合,包括Collection和Map,也 ...

  3. EL表达式(1)

    JSP页面中支持使用EL表达式,EL全名为Expression Language.EL表达式的主要作用有: ① 获取数据: ② 执行运算: ③ 使用EL表达式的11大隐式对象: ④ 调用Java方法. ...

  4. Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)

    原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问 ...

  5. JVM内存管理 (转)

    一.物理内存与虚拟内存1.物理内存                (1)RAM        所谓物理内存就是我们通常所说的RAM(随机存储器).        (2)寄存器        在计算机中 ...

  6. 基于visual Studio2013解决面试题之0401非递归遍历二叉树

     题目

  7. mybatis 的简单使用

    须要用到的包:(这里仅仅是当中一个版本号.其它的百度) mysql-connector-java-5.1.6-bin mybatis-3.2.2 先看项目文件夹: 配置文件mybatisconfig. ...

  8. Swift - 访问控制(private,internal,public)

    在Swift语言中,访问修饰符有三种,分别为private,internal和public.同时,Swift对于访问权限的控制,不是基于类的,而是基于文件的.其区别如下: 1,private priv ...

  9. 新手推荐:IIS+PHP+MYSQL环境配置教程

    本文介绍刚开始接触php的朋友如何为自己的服务器配置php环境 首先我们要的工具: 1.IIS:这个当然是不能少的了,用系统自带的就好了,这里就不教大家怎么装了. 2.PHP:php-5.2.0-wi ...

  10. centos7里默认python升级到2.7.11

    CentOS镜像使用帮助 http://mirrors.163.com/.help/centos.html   安装gcc yum install gcc* openssl openssl-devel ...