地图和位置概述

本部分介绍如何在应用中显示地图、使用地图服务、查找位置和设置地理围栏。 本部分还介绍如何将 Windows 地图应用启动到特定地图、路线或一组逐向路线。

MapControl 和地图服务需要称为 MapServiceToken 的地图身份验证密钥。 有关获取和设置地图身份验证密钥的详细信息,请参阅请求地图身份验证密钥

提示

 若要了解有关在应用中使用地图和位置的详细信息,请从 GitHub 上的 Windows-universal-samples 存储库中下载以下示例:

 

显示地图

使用 Windows.UI.Xaml.Controls.Maps 命名空间中的 API 在应用中以 2D、3D 或街景视图方式显示地图。 可以使用图钉、图像、图形或 XAML UI 元素在地图上标记兴趣点 (POI)。 还可以覆盖平铺图像或完全替换地图图像。

主题 说明
请求地图身份验证密钥 应用必须先进行身份验证,然后才能在 Windows.Services.Maps 命名空间中使用 MapControl 和地图服务。 若要对应用进行身份验证,必须指定地图身份验证密钥。 本文介绍如何从必应地图开发人员中心请求地图身份验证密钥并将其添加到应用。
使用 2D、3D 和街景视图显示地图 通过使用 MapControl 类,在应用中显示可自定义的地图。 本主题还介绍了鸟瞰图 3D 视图和街景视图。
在地图上显示目标点 (POI) 使用图钉、图像、图形和 XAML UI 元素向地图添加兴趣点 (POI)。
覆盖地图上的平铺图像 使用磁贴源覆盖地图上的第三方或自定义平铺图像。 使用磁贴源覆盖专业信息(例如,天气数据、人口数据或地震数据),或者使用磁贴源替换整个默认地图。

访问地图服务

通过使用 Windows.Services.Maps 命名空间中的 API 将路线、方向和地理编码功能添加到应用。

主题 说明
请求地图身份验证密钥 应用必须先进行身份验证,然后才能在 Windows.Services.Maps 命名空间中使用 MapControl 和地图服务。 若要对应用进行身份验证,必须指定地图身份验证密钥。 本文介绍如何从必应地图开发人员中心请求地图身份验证密钥并将其添加到应用。
在地图上显示目标点 (POI) 使用图钉、图像、图形和 XAML UI 元素向地图添加兴趣点 (POI)。
显示路线和方向 请求路线和方向并在应用中显示它们。
执行地理编码和反向地理编码 通过调用 Windows.Services.Maps 命名空间中 MapLocationFinder 类的方法将地址转换为地理位置(地理编码),以及将地理位置转换为地址(反向地理编码)。
查找并下载供离线使用的地图包 在过去,你的应用必须将用户定向到“设置”应用来下载离线地图。 现在,你可以使用 Windows.Services.Maps.OfflineMaps 命名空间中的类在特定区域中查找已下载的包(基于 GeopointGeoboundingBox,等等)。
你还可以在不需要用户离开应用的情况下检查和侦听地图包的下载状态以及开始下载。
在参考内容和通用 Windows 平台 (UWP) 地图示例中,你都可以找到有关如何执行此操作的示例。

获取用户位置

使用 Windows.Devices.Geolocation 命名空间中的 API 获取用户的当前位置,并在位置变化时在应用中接收通知。 这些 API 成员还经常在地图 API 的参数中使用。 Windows.Devices.Geolocation.Geofencing 命名空间中的 API 会在用户进入或退出地理围栏(预定义的地理区域)时通知你的应用。

主题 说明
请求地图身份验证密钥 应用必须先进行身份验证,然后才能在 Windows.Services.Maps 命名空间中使用 MapControl 和地图服务。 若要对应用进行身份验证,必须指定地图身份验证密钥。 本文介绍如何从必应地图开发人员中心请求地图身份验证密钥并将其添加到应用。
位置感知应用设计指南 需要访问用户位置的应用的性能指南。
获取用户位置 获取对用户位置的访问权限,然后检索该位置。
有关使用访问跟踪的指南 了解如何使用功能强大的访问跟踪功能进行更实用的位置跟踪。
地理围栏设计指南 使用地理围栏功能的应用的性能指南。
设置地理围栏 在应用中设置地理围栏并了解如何处理前台和后台中的通知。

启动 Windows 地图应用

应用可以启动 Windows 地图应用(如此处所示)来显示特定地图和逐向路线。 考虑使用 Windows 地图应用提供地图功能,而不是在你自己的应用中直接提供该功能。 有关详细信息,请参阅启动 Windows 地图应用

an example of the windows maps app.