原文 如何添加地图控件到Windows Phone 8的页面中
本主题介绍了各种方法来添加一个地图控件到Windows Phone 8的项目。该地图控件在Windows Phone的SDK 8.0的库的一部分。因为地图的控制是不是在内存中的核心控制,它必须被正确引用,然后才能使用它。您还必须添加一个ID_Cap_Map功能之前,你的控件添加到项目中。
提示: |
---|
本主题介绍如何编写一个显示你的地图应用程序内部的代码。如果你只是想显示的地图,您还可以使用地图的任务,这将启动内置的地图应用程序。欲了解更多信息,请参阅如何使用地图任务的Windows Phone。 |
有关演示一些本主题中描述的任务样品,下载简单的地图控件示例。 |
对于有用的扩展到地图API,其中包括一个图钉,下载Windows Phone的工具包。
本主题包含以下各节。
- 添加地图功能
- 使用工具箱中添加一个地图控件
- 使用XAML添加地图控制
- 通过使用代码添加地图控制
- 添加ApplicationID和AuthenticationToken
- 使用条款在地图服务
- 相关主题
添加一个最简单的方法地图控制并正确引用它是从将它拖到工具箱,并将其拖放到你的XAML设计或XAML视图。
从工具箱中添加一个地图控件
-
在MapApplication项目中,打开工具箱,然后打开所有的Windows Phone控件。
-
从工具箱,拖动地图控件的XAML或设计器视图。
Visual Studio会自动执行以下任务。
-
增加了一个参考Microsoft.Phone.Maps装配。
-
在<phone:PhoneApplicationPage> XAML页面的开始标记,添加下面的XML命名空间声明SDK的命名空间。
XAML的xmlns:控制=“CLR命名空间:Microsoft.Phone.Maps.Controls;装配= Microsoft.Phone.Maps”
-
添加以下XAML到你的页面,如果你拖动控件到XAML视图。
<Controls:Map />
- 或 -
-
如果你拖动控件到设计视图中添加以下XAML。
XAML< 控制:地图 HorizontalAlignment = “ 左“ 保证金= “ 158,265,0,0 “ 垂直对齐= “ 顶“ />
-
要添加一个地图使用XAML手动控制,必须先添加一个引用到Microsoft.Phone.Maps组装,然后你必须在XML命名空间映射到程序集。
要添加一个引用到Microsoft.Phone.Maps装配在Visual Studio
-
在你的MapApplication项目中,右键单击项目菜单,然后选择添加引用。
-
在引用管理器对话框中,单击浏览。
-
浏览到C:\程序文件(x86)\引用程序集\微软\框架\ WindowsPhone的\ V8.0。
-
双击Microsoft.Phone.Maps.dll文件。
-
单击OK(确定)。
要添加一个XML命名空间映射
-
打开MainPage.xaml。
-
在<phone:PhoneApplicationPage> XAML页面的开始标记,添加下面的XML命名空间声明SDK的命名空间。
XAML的xmlns:控制=“CLR命名空间:Microsoft.Phone.Maps.Controls;装配= Microsoft.Phone.Maps”
若要使用XAML添加地图控件
-
打开MainPage.xaml。
-
添加以下XAML到ContentPanel的网格。
XAML< 控制:地图> </ 控制:地图>
在您可以发布使用地图控件的应用程序,你必须得到一个ApplicationId和AuthenticationToken从Windows Phone的开发中心,并添加值到你的代码。你得到的值是特定于各个应用程序,而您提出要求。
为了得到一个ApplicationID和AuthenticationToken从开发中心
-
当您完成您的应用程序,开始应用程序提交过程。
-
在提交应用程序页面,单击地图服务。
该地图服务开启页面。
-
在页面上,单击获取令牌。
新ApplicationID和AuthenticationToken显示在同一页面上。
-
复制值和下面的过程描述它们粘贴到你的代码。
-
新的代码,上传和更新拷贝到存储重建您的应用程序。
你必须设置两个值ApplicationId和AuthenticationToken第一个地图控件加载后,不只是实例化的属性。如果你在破坏你的应用程序中的地图控件的所有实例,然后创建一个新的实例,你必须重新设置这些属性。
要指定ApplicationID和AuthenticationToken在你的代码
-
在Visual Studio中,在你的代码中,创建一个事件处理程序的地图控件的Loaded事件。
-
每个复制您从开发中心获得的,并将其分配到各自的属性值,如显示在下面的代码:
C#私人 无效 myMapControl_Loaded(对象发件人,RoutedEventArgs五){Microsoft.Phone.Maps.MapsSettings.ApplicationContext.ApplicationId = “ApplicationID” ;Microsoft.Phone.Maps.MapsSettings.ApplicationContext.AuthenticationToken = “AuthenticationToken” ;}