你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 Java 的 Azure Maps SDK Render 客户端库 - 版本 1.0.0-beta.2
Azure Maps适用于 Java 的 SDK 呈现客户端库。
此包包含 Microsoft Azure SDK for Render Management SDK,其中包含 Azure Maps Render REST API。 Azure Maps Render 检索 copyrigt 信息或映射/状态磁贴。 有关如何使用此包的文档,请参阅 Azure Maps Render。
源代码 | API 参考文档 | REST API 文档 | 产品文档 | 样品
文档
提供了各种文档来帮助你入门
入门
先决条件
将包添加到产品
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-maps-render</artifactId>
<version>1.0.0-beta.2</version>
</dependency>
包括建议的包
Azure Maps库需要TokenCredential
用于身份验证的实现和 HttpClient
HTTP 客户端的实现。
Azure 标识 包和 Azure Core Netty HTTP 包提供默认实现。
身份验证
默认情况下,Azure Active Directory 令牌身份验证依赖于以下环境变量的正确配置。
AZURE_CLIENT_ID
用于 Azure 客户端 ID。AZURE_TENANT_ID
用于 Azure 租户 ID。AZURE_CLIENT_SECRET
或AZURE_CLIENT_CERTIFICATE_PATH
,用于客户端密码或客户端证书。
此外,可以通过环境变量 AZURE_SUBSCRIPTION_ID
配置 Azure 订阅 ID。
使用上述配置, azure
可以通过以下代码对客户端进行身份验证:
// Authenticates using Azure AD building a default credential
// This will look for AZURE_CLIENT_ID, AZURE_TENANT_ID, and AZURE_CLIENT_SECRET env variables
DefaultAzureCredential tokenCredential = new DefaultAzureCredentialBuilder().build();
// Creates a builder
MapsRenderClientBuilder builder = new MapsRenderClientBuilder();
builder.credential(tokenCredential);
builder.mapsClientId(System.getenv("MAPS_CLIENT_ID"));
builder.httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS));
// Builds a client
MapsRenderClient client = builder.buildClient();
示例代码假定全局 Azure。 否则,请更改 AzureEnvironment.AZURE
变量。
有关更多选项,请参阅 身份验证 。
关键概念
有关 Azure 管理库的设计和关键概念的一般介绍,请参阅 API 设计。
示例
获取地图图块
System.out.println("Get Map Tile");
MapTileOptions mapTileOptions = new MapTileOptions();
mapTileOptions.setTilesetId(TilesetId.MICROSOFT_BASE_ROAD);
mapTileOptions.setTileIndex(new TileIndex().setX(10).setY(22).setZ(6));
client.getMapTile(mapTileOptions);
获取地图图块集
System.out.println("Get Map Tileset");
new TilesetId();
client.getMapTileset(TilesetId.MICROSOFT_BASE);
获取地图属性
System.out.println("Get Map Attribution");
GeoBoundingBox bounds = new GeoBoundingBox(-122.414162, 47.57949, -122.247157, 47.668372);
new TilesetId();
client.getMapAttribution(TilesetId.MICROSOFT_BASE, 6, bounds);
获取版权标题
System.out.println("Get Copyright Caption");
client.getCopyrightCaption();
获取地图静态图像
System.out.println("Get Map Static Image");
GeoBoundingBox bbox = new GeoBoundingBox(1.355233, 42.982261, 24.980233, 56.526017);
new StaticMapLayer();
new RasterTileFormat();
MapStaticImageOptions mapStaticImageOptions = new MapStaticImageOptions().setStaticMapLayer(StaticMapLayer.BASIC)
.setMapImageStyle(MapImageStyle.MAIN).setZoom(2)
.setBoundingBox(bbox).setRasterTileFormat(RasterTileFormat.PNG);
client.getMapStaticImage(mapStaticImageOptions).toStream();
从边界框获取版权
GeoBoundingBox boundingBox = new GeoBoundingBox(52.41064, 4.84228, 52.41072, 4.84239);
client.getCopyrightFromBoundingBox(boundingBox, true);
获取磁贴的版权
client.getCopyrightForTile(new TileIndex().setX(9).setY(22).setZ(6), true);
获取世界版权
client.getCopyrightForWorld(true);
疑难解答
与 Azure Maps 服务交互时,地图服务返回的错误对应于为 REST API 请求返回的相同 HTTP 状态代码。
例如,如果使用无效坐标进行搜索,则会返回错误,指示“错误请求”。400
后续步骤
SDK 的 GitHub 存储库中提供了多个Azure Maps呈现 Java SDK 示例。 Azure Maps渲染示例
供稿
有关参与此存储库的详细信息,请参阅 参与指南。
- 分支
- 创建功能分支 (
git checkout -b my-new-feature
) - ()
git commit -am 'Add some feature'
提交更改 - 推送到分支 (
git push origin my-new-feature
) - 创建新的拉取请求