原文 如何添加地图控件到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. Java中怎么控制线程訪问资源的数量

    在API中是这样来描写叙述Semaphore 的 Semaphore 通经常使用于限制能够訪问某些资源(物理或逻辑的)的线程数目. 一个计数信号量.从概念上讲,信号量维护了一个许可集.如有必要,在许可 ...

  2. wifi定位原理

    wifi定位和手机基站定位类别似,两者都需要收集wifi位置信息接入点. 其实WIFI奇妙,它靠的是侦測附近周围全部的无线网路基地台 (WiFi Access Point) 的 MAC Address ...

  3. Swift - 使用相机拍摄照片

    1,打开相机拍照 通过设置图片控制器UIImagePickerController的来源为UIImagePickerControllerSourceType.Camera,便可以打开相机 1 2 3 ...

  4. 表likp新增第一次过账输入日期字段,vl02n/vl01n/vl03n/vl06o的增强

    在程序:MV50AFZ1的 FORM USEREXIT_SAVE_DOCUMENT_PREPARE. *begin of ADD CRQ000000012135 CAIZJIAN 2014/3/25( ...

  5. 理解 Thread.Sleep 函数

    我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 假设现在是 2008-4-7 12:00:00.000,如果我调用 ...

  6. 14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate

    14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate 主的master thread ...

  7. c++中虚函数和纯虚函数定义

    只有用virtual声明类的成员函数,使之成为虚函数,不能将类外的普通函数声明为虚函数.因为虚函数的作用是允许在派生类中对基类的虚函数重新定义.所以虚函数只能用于类的继承层次结构中. 一个成员函数被声 ...

  8. ZeroClipboard插件:兼容各浏览器网页复制功能

    常规利用JS编写的网页复制功能只对IE有效,无法做到兼容其它浏览器,代码如下: function copyToClipBoard(){ var clipBoardContent="" ...

  9. 《Head First 设计模式》学习笔记——模板方法模式

    模板方法模式是类的行为模式.准备一个抽象类,将部分逻辑以详细方法以及详细构造函数的形式实现.然后声明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类能够以不同的方式实现这些抽象方法,从而对剩余的逻辑有 ...

  10. Windows系统版本号判定那些事儿

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...