你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

迁移必应地图获取静态地图 API

本文介绍如何将必应地图获取静态地图 API 迁移到 Azure Maps 获取地图静态图像 API。 Azure Maps 获取地图静态图像 API 可呈现用户定义的矩形道路、卫星/航拍或交通样式的地图图像。

先决条件

显著差异

  • 必应地图获取静态地图 API 提供道路、卫星/航拍、交通、Streetside、鸟瞰和地形测量地图样式。 Azure Maps 获取地图静态图像 API 提供相同的样式,除了 Streetside、鸟瞰和地形测量。
  • 必应地图获取静态地图 API 支持使用坐标、街道地址或地名作为位置输入获取静态地图。 Azure Maps 获取地图静态图像 API 仅支持坐标作为位置输入。
  • 必应地图获取静态地图 API 支持本机获取驾驶、步行或公共交通路线的静态地图。 Azure Maps 获取地图静态图像 API 本机不提供路线地图功能。
  • 必应地图获取静态地图 API 提供 PNG、JPEG 和 GIF 图像格式的静态地图。 Azure Maps 获取地图静态图像 API 提供 PNG 和 JPEG 图像格式的静态地图。
  • 必应地图获取静态地图 API 支持 XML 和 JSON 响应格式。 Azure Maps 获取地图静态图像 API 仅支持 JSON 响应格式。
  • 必应地图获取静态地图 API 支持 HTTP GET 和 POST 请求。 Azure Maps 获取地图静态图像 API 支持 HTTP GET 请求。
  • 必应地图获取静态地图 API 使用纬度和经度格式的坐标。 Azure Maps 获取地图静态图像 API 使用经度和纬度格式的坐标,如 GeoJSON 中定义。
  • 与必应地图企业版不同,Azure Maps 是一项支持指定地理范围的全球服务,允许将数据驻留限制为欧洲 (EU) 或美国 (US) 地理区域(地区)。 所有请求(包括输入数据)都专门在指定的地理区域进行处理。 有关详细信息,请参阅 Azure Maps 服务地理范围

安全性和身份验证

必应地图企业版仅支持 API 密钥身份验证。 Azure Maps 支持通过多种方式对 API 调用进行身份验证,例如订阅密钥Microsoft Entra ID共享访问签名 (SAS) 令牌。 有关 Azure Maps 中的安全性和身份验证的详细信息,请参阅 Azure Maps 身份验证和 Azure Maps“获取地图静态图像”文档中的“安全性”部分

请求参数

下表列出了必应地图获取静态地图请求参数和 Azure Maps 等效参数:

必应地图请求参数 参数别名 Azure Maps 请求参数 Azure Maps 中必需 Azure Maps 数据类型 说明
centerPoint center True(如果未使用 bbox) number[] 必应地图获取静态地图 API 要求坐标为纬度和经度格式,而 Azure Maps 获取地图静态图像 API 要求坐标为经度和纬度格式,如 GeoJSON 格式中所定义。 

longitude,latitude 范围为 [-90, 90]。 注意:centerbbox 是必需参数。 它们是相互排斥的。
culture c language FALSE 字符串 在 Azure Maps 获取地图静态图像 API 中,这是应返回搜索结果的语言,并在 Azure Maps 请求标头中指定。 有关详细信息,请参阅支持的语言
declutterPins dcl 不支持 不支持 不支持
dpi dir 不支持 不支持 不支持
drawCurve dv 路径 FALSE 字符串
fieldOfView fov 不支持 不支持 不支持 在必应地图中,此参数用于 imagerySet 鸟瞰、BirdseyeWithLabelsBirdseyeV2BirdseyeV2WithLabelsOrdnanceSurveyStreetside。 Azure Maps 不支持这些地图样式。
format fmt format TRUE 字符串 必应地图获取静态地图 API 提供 PNG、JPEG 和 GIF 图像格式的静态地图。 Azure Maps 获取地图静态图像 API 提供 PNG 和 JPEG 图像格式的静态地图。
heading 不支持 不支持 不支持 在必应地图中,此参数用于 imagerySet Birdseye、BirdseyeWithLabels、BirdseyeV2、BirdseyeV2WithLabels、OrdnanceSurvey、Streetside。 Azure Maps 不支持这些地图样式。
highlightEntity he 不支持 不支持 不支持 在必应地图获取静态地图 API 中,该参数用于本机获取显示在地图上的位置输入(实体)的多边形。 Azure Maps 获取地图静态图像 API 不支持此功能,但可以通过 Azure Maps 获取多边形 API 获取位置(地点)的多边形,然后将其显示在静态地图上。
imagerySet tilesetID TRUE TilesetId
mapArea ma bbox True(如果未使用中心) number[] 边界框由两个经度和两个纬度定义,代表地球上一个矩形区域的四条边,格式为 minLon, minLat, maxLon, maxLat。 

注意:centerbbox 是必需参数。 它们是相互排斥的。 bbox 不应与 heightwidth 一起使用。
mapLayer ml trafficLayer FALSE TrafficTilesetId 可选。 如果提供了 TrafficLayer,则返回带有相应交通层的地图图像。 有关详细信息,请参阅 tilesetId
mapSize ms height TRUE 整数 (int32)
width
mapMetadata mmd 不支持 不支持 不支持
orientation dir 不支持 不支持 不支持 在必应地图获取静态地图 API 中,此参数用于 'imagerySet' Birdseye、BirdseyeWithLabels、BirdseyeV2、BirdseyeV2WithLabels、OrdnanceSurvey、Streetside。 Azure Maps 不支持这些地图样式
pitch 不支持 不支持 不支持 在必应地图获取静态地图 API 中,此参数用于 'imagerySet' Birdseye、BirdseyeWithLabels、BirdseyeV2、BirdseyeV2WithLabels、OrdnanceSurvey、Streetside。 Azure Maps 不支持这些地图样式
图钉 pp 图钉 FALSE 字符串 在必应地图获取静态地图 API 中,每个静态地图的 HTTP GET 请求限制为 18 个图钉,HTTP POST 请求限制为 100 个图钉。 Azure Maps 获取地图静态图像 API HTTP GET 请求对每个静态地图的图钉数量没有限制。 不过,静态地图上支持的图钉数量是基于 HTTP GET 请求中支持的最大字符数。 有关图钉支持的更多详细信息,请参阅 URI 参数中的 Azure Maps 获取地图静态图像 API“图钉”参数。
查询 不支持 不支持 不支持 Azure Maps 获取地图静态图像 API 仅支持坐标作为位置输入,而不支持街道地址或地名。 使用 Azure Maps 获取地理编码 API 将街道地址或地名转换为坐标。
路线参数:avoid 不支持 不支持 不支持 Azure Maps 获取地图静态图像 API 本机不提供路线地图功能。 要获取带有路线路径的静态地图,请使用 Azure Maps 获取路线方向发布路线方向 API,获取指定路线的路线路径坐标,然后使用 Azure Maps 获取地图静态图像 API drawCurve 功能在静态地图上叠加路线路径坐标。
路由参数:distanceBeforeFirstTurn dbft 不支持 不支持 不支持 Azure Maps 获取地图静态图像 API 本机不提供路线地图功能。 要获取带有路线路径的静态地图,可以使用 Azure Maps 获取路线方向发布路线方向 API,获取指定路线的路线路径坐标,然后使用 Azure Maps 获取地图静态图像 API drawCurve 功能在静态地图上叠加路线路径坐标。
路线参数:dateTime dt 不支持 不支持 不支持 Azure Maps 获取地图静态图像 API 本机不提供路线地图功能。 要获取带有路线路径的静态地图,可以使用 Azure Maps 获取路线方向发布路线方向 API,获取指定路线的路线路径坐标,然后使用 Azure Maps 获取地图静态图像 API drawCurve 功能在静态地图上叠加路线路径坐标。
路线参数:maxSolutions maxSolns 不支持 不支持 不支持 Azure Maps 获取地图静态图像 API 本机不提供路线地图功能。 要获取带有路线路径的静态地图,可以使用 Azure Maps 获取路线方向发布路线方向 API,获取指定路线的路线路径坐标,然后使用 Azure Maps 获取地图静态图像 API drawCurve 功能在静态地图上叠加路线路径坐标。
路线参数:optimize optmz 不支持 不支持 不支持 Azure Maps 获取地图静态图像 API 本机不提供路线地图功能。 要获取带有路线路径的静态地图,可以使用 Azure Maps 获取路线方向发布路线方向 API,获取指定路线的路线路径坐标,然后使用 Azure Maps 获取地图静态图像 API drawCurve 功能在静态地图上叠加路线路径坐标。
路线参数:timeType tt 不支持 不支持 不支持 Azure Maps 获取地图静态图像 API 本机不提供路线地图功能。 要获取带有路线路径的静态地图,可以使用 Azure Maps 获取路线方向发布路线方向 API,获取指定路线的路线路径坐标,然后使用 Azure Maps 获取地图静态图像 API drawCurve 功能在静态地图上叠加路线路径坐标。
路线参数:travelMode 不支持 不支持 不支持 Azure Maps 获取地图静态图像 API 本机不提供路线地图功能。 要获取带有路线路径的静态地图,可以使用 Azure Maps 获取路线方向发布路线方向 API,获取指定路线的路线路径坐标,然后使用 Azure Maps 获取地图静态图像 API drawCurve 功能在静态地图上叠加路线路径坐标。
路由参数:waypoint.n wp.n 不支持 不支持 不支持 Azure Maps 获取地图静态图像 API 本机不提供路线地图功能。 要获取带有路线路径的静态地图,可以使用 Azure Maps 获取路线方向发布路线方向 API,获取指定路线的路线路径坐标,然后使用 Azure Maps 获取地图静态图像 API drawCurve 功能在静态地图上叠加路线路径坐标。
style st 不支持 不支持 不支持
userRegion ur 视图 FALSE 字符串 一个字符串,表示 ISO 3166-1 Alpha-2 区域/国家/地区代码。 它会更改地缘政治争议边界和标签,以与指定的用户区域保持一致。 默认情况下,“视图”参数设置为“自动”,即使未在请求中定义它也是如此。 有关详细信息,请参阅支持的视图
zoomLevel 缩放 FALSE 字符串 所需的地图缩放级别。 缩放值必须在以下范围内:0-20(含)。 默认值为 12。
highlightEntity he 不支持 不支持 不支持 在必应地图获取静态地图 API 中,该参数用于本机获取显示在地图上的位置输入(实体)的多边形。 Azure Maps 获取地图静态图像 API 不支持此功能,但可以通过 Azure Maps 获取多边形 API 获取位置(地点)的多边形,然后将其显示在静态地图上。

有关 Azure Maps 获取地图静态图像 API 请求参数的详细信息,请参阅 URI 参数

请求示例

必应地图获取静态地图 API 示例 GET 请求

https://dev.virtualearth.net/REST/v1/Imagery/Map/Road/51.504810,-0.113629/15?mapSize=500,500&pp=51.504810,-0.113629;45&key={BingMapsKey}

Azure Maps 获取地图静态图像 API 示例 GET 请求

https://atlas.microsoft.com/map/static?api-version=2024-04-01&tilesetId=microsoft.base.road&zoom=15&center=-0.113629,51.504810&height=500&Width=500&pins=default||-0.113629 51.504810||&subscription-key={Your-Azure-Maps-Subscription-key}

响应示例

下面的屏幕截图显示了执行必应地图获取静态地图请求时 HTTP 响应正文中返回的内容

地图的屏幕截图,其中显示了必应地图获取静态地图请求的结果。

以下 JSON 示例显示了执行 Azure Maps 获取地图静态图像请求时,HTTP 响应正文中返回的内容:

显示 Azure Maps 获取地图静态图像请求结果的地图屏幕截图。

事务使用情况

与必应地图获取静态地图 API 一样,Azure Maps 获取地图静态图像 API 也是每次请求记录一个计费事务。 有关 Azure Maps 事务的详细信息,请参阅了解 Azure Maps 事务

其他信息

支持