你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Maps Android SDK 入门
Azure Maps Android SDK 是适用于 Android 的矢量地图库。 本文将引导你完成安装 Azure Maps Android SDK 和加载地图的过程。
注意
Azure Maps Android SDK 停用
适用于 Android 的 Azure Maps 本机 SDK 现已弃用,将于 2025 年 3 月 31 日停用。 为了避免服务中断,请在 2025 年 3 月 31 日之前迁移到 Azure Maps Web SDK。 有关详细信息,请参阅 Azure Maps Android SDK 迁移指南。
先决条件
请务必完成快速入门:创建 Android 应用文章中的步骤。
本地化地图
Azure Maps Android SDK 提供三种方式来设置地图的语言和区域视图。 以下代码演示如何将语言设置为法语(“fr-FR”),以及如何将区域视图设置为“Auto”。
使用静态
setLanguage
和setView
属性,将语言和区域视图信息传入AzureMaps
类。 这将在你的应用中设置默认语言和区域视图属性。static { //Alternatively use Azure Active Directory authenticate. AzureMaps.setAadProperties("<Your aad clientId>", "<Your aad AppId>", "<Your aad Tenant>"); //Set your Azure Maps Key. //AzureMaps.setSubscriptionKey("<Your Azure Maps Key>"); //Set the language to be used by Azure Maps. AzureMaps.setLanguage("fr-FR"); //Set the regional view to be used by Azure Maps. AzureMaps.setView("Auto"); }
companion object { init { //Alternatively use Azure Active Directory authenticate. AzureMaps.setAadProperties("<Your aad clientId>", "<Your aad AppId>", "<Your aad Tenant>"); //Set your Azure Maps Key. //AzureMaps.setSubscriptionKey("<Your Azure Maps Key>"); //Set the language to be used by Azure Maps. AzureMaps.setLanguage("fr-FR"); //Set the regional view to be used by Azure Maps. AzureMaps.setView("Auto"); } }
还可以将语言和区域视图信息传递给地图控件 XML。
<com.azure.android.maps.control.MapControl android:id="@+id/myMap" android:layout_width="match_parent" android:layout_height="match_parent" app:azure_maps_language="fr-FR" app:azure_maps_view="Auto" />
以编程方式设置语言和区域视图属性的最后一种方式是使用地图
setStyle
方法。 随时可以采取这种做法来更改地图的语言和区域视图。mapControl.onReady(map -> { map.setStyle( language("fr-FR"), view("Auto") ); });
mapControl.onReady(OnReady { map: AzureMap -> map.setStyle( language("fr-FR"), view("Auto") ) })
下面是将语言设置为“fr-FR”,并将区域视图设置为“Auto”的 Azure Maps 示例。
有关支持的语言和区域视图的完整列表,请参阅 Azure Maps 中的本地化支持。
在地图中导航
可通过多种不同的方式缩放、平移、旋转地图及调整其俯仰角。 下面详细说明了在地图中导航的所有不同方式。
缩放地图
- 使用双指触摸地图,收拢双指可以缩小,分开双指可以放大。
- 双击地图可将地图放大一个级别。
- 用双指双击地图可将地图缩小一个级别。
- 点击两次;在第二次点击时,用手指按住地图并向上拖动可以放大,向下拖动可以缩小。
平移地图
- 触摸地图并朝任意方向拖动。
旋转地图
- 用双指触摸地图并旋转。
调整地图俯仰角
- 用双指触摸地图,并同时向上或向下拖动双指。
Azure 政府版云支持
Azure Maps Android SDK 支持 Azure 政府版云。 Azure Maps Android SDK 可从同一 Maven 存储库访问。 需要完成以下任务才能连接到 Azure Maps 平台的 Azure 政府云版本。
在指定 Azure Maps 身份验证详细信息的同一位置,添加以下代码行,指示地图使用 Azure Maps 政府版云域。
AzureMaps.setDomain("atlas.azure.us");
AzureMaps.setDomain("atlas.azure.us")
对地图和服务进行身份验证时,请确保使用 Azure 政府版云平台中的 Azure Maps 身份验证详细信息。
从预览版迁移
随着从预览版转变为正式发布版,Azure Maps Android SDK 中引入了一些中断性变更。 以下是关键详细信息:
Maven 标识符已从
"com.microsoft.azure.maps:mapcontrol:0.7"
更改为"com.azure.android:azure-maps-control:1.0.0"
。 命名空间和主版本号已更改。导入命名空间已从
com.microsoft.azure.maps.mapcontrol
更改为com.azure.android.maps.control
XML 选项、颜色资源和图像资源的资源名称的
mapcontrol_
文本已替换为azure_maps_
。之前:
<com.microsoft.azure.maps.mapcontrol.MapControl android:id="@+id/myMap" android:layout_width="match_parent" android:layout_height="match_parent" app:mapcontrol_language="fr-FR" app:mapcontrol_view="Auto" app:mapcontrol_centerLat="47.602806" app:mapcontrol_centerLng="-122.329330" app:mapcontrol_zoom="12" />
之后:
<com.azure.android.maps.control.MapControl android:id="@+id/myMap" android:layout_width="match_parent" android:layout_height="match_parent" app:azure_maps_language="fr-FR" app:azure_maps_view="Auto" app:azure_maps_centerLat="47.602806" app:azure_maps_centerLng="-122.329330" app:azure_maps_zoom="12" />
后续步骤
了解如何在地图上添加叠加数据: