原文 如何添加地图控件到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. 点击轮播图片左右button,实现轮播效果

    点击左右button.实现图片轮播效果.js代码例如以下: $(function () { var index = 1; var pPage = 1; var $v_citemss = $(" ...

  2. Python unittest 官方文档

    https://docs.python.org/2/library/unittest.html#

  3. 遇到Audio/Speech相关问题,如何抓取log

      [DESCRIPTION] 遇到Audio/Speech相关问题时,经常需要抓取相关log信息,总结抓取方法如下 [SOLUTION] 1.    通话声音相关的问题: Case 1: 通话中某一 ...

  4. Linux版EPUB阅读器

    Linux版EPUB阅读器 如果说用平板电脑看书尚属主流的话,那么在电脑上读书就非常少见了.专注阅读16世纪的书是非常困难的了,没人希望后台蹦出QQ聊天窗口.但是如果你非要在电脑上打开电子书的话,那么 ...

  5. nginx的反向代理和负载均衡的区别是什么 - 开源中国社区

    nginx的反向代理和负载均衡的区别是什么 - 开源中国社区   nginx的反向代理和负载均衡的区别是什么 #user  nobody;worker_processes  1;#error_log  ...

  6. IOS UITableView单条刷新,数据不刷新解决方案

    在使用 UITableView 进行某设置页面的设计时,由于设计页面有固定的section个数和row个数,而数据又需要根据用户的修改情况进行改变,所以我们往往不会为每个cell单独写一个类,而是直接 ...

  7. bootstrap之WaitForIdle&amp;&amp;Clear

    (上篇文章写完才发现.说好的按顺序可是回头一看全然不是按顺序的)明明WaitForIdle才是第一个.哎,老了,后脑勺不行了. WaitForIdle package io.appium.androi ...

  8. UVA11324-- The Largest Clique(SCC+DP)

    题目链接 题意:给出一张有向图,求一个结点数最大的结点集,使得该结点集中随意两个结点u和v满足:要么u能够到到v,要么v能够到达u(u和v能够互相到达) 思路:我们能够缩点,用Tarjan求出全部强连 ...

  9. JSP/Servlet-----charset 、pageEncoding差别

    一.JSP/Servlet中的几个编码的作用         在JSP/Servlet中有4个地方可设置编码(例如以下).当中前两个仅仅能用于JSP中,后两个可用于JSP和Servlet 中.    ...

  10. 访问祖先类的虚方法(直接访问祖先类的VMT,但是这种方法在新版本中未必可靠)

    访问祖先类的虚方法 问题提出 在子类覆盖的虚方法中,可以用inherited调用父类的实现,但有时候我们并不需要父类的实现,而是想跃过父类直接调用祖先类的方法. 举个例子,假设有三个类,实现如下: t ...