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

扩展的 GeoJSON 几何图形

Azure Maps 提供功能强大的 API 列表,用于在地理功能内搜索/基于地理功能搜索。 这些 API 遵循代表地理功能的标准 GeoJSON 规范

GeoJSON 规范仅支持以下几何图形:

  • GeometryCollection
  • LineString
  • MultiLineString
  • MultiPoint
  • MultiPolygon
  • Polygon

一些 Azure Maps API 接受不属于 GeoJSON 规范的几何图形。例如,在几何图形内搜索 API 接受圆形和多边形。

本文提供了有关 Azure Maps 如何扩展 GeoJSON 规范来表示某些几何图形的详细说明。

圆形

GeoJSON 规范不支持 Circle 几何图形。我们使用 GeoJSON Point Feature 对象来表示圆形。

使用 GeoJSON Feature对象表示的 Circle 几何图形必须包含以下各项:

  • Center

    圆的中心使用GeoJSON Point对象表示。

  • 半径

    圆形的 radius 使用 GeoJSON Feature 的属性表示。 半径值以米为单位,并且其类型必须为 double

  • 子类型

    圆形几何图形还必须包含 subType 属性。 该属性必须属于 GeoJSON Feature 属性的一部分,并且其值应为

示例

以下是使用 GeoJSON Feature对象表示圆的方式 。 让我们将圆圈置于纬度:47.639754 和经度:-122.126986,并为其分配 100 米的半径:

{
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [-122.126986, 47.639754]
    },
    "properties": {
        "subType": "Circle",
        "radius": 100
    }
}          

矩形

GeoJSON 规范不支持 Rectangle 几何图形。我们使用 GeoJSON Polygon Feature 对象来表示矩形。 矩形扩展主要由 Web SDK 的 "绘图工具" 模块使用。

使用 GeoJSON Polygon Feature对象表示的 Rectangle 几何图形必须包含以下各项:

  • 使用GeoJSON Polygon对象的坐标表示矩形的角 。 应该有五个坐标,每个角一个。 第五个坐标与第一个坐标相同,用于闭合多边形环。 假定这些坐标对齐,并且开发人员可以根据需要对其进行旋转。

  • 子类型

    圆形几何图形还必须包含 subType 属性。 该属性必须属于 GeoJSON Feature 属性的一部分,并且其值应为矩形

示例

{
    "type": "Feature",
    "geometry": {
        "type": "Polygon",
        "coordinates": [[[5,25],[14,25],[14,29],[5,29],[5,25]]]
    },
    "properties": {
        "subType": "Rectangle"
    }
}

后续步骤

了解有关 Azure Maps 中 GeoJSON 数据的更多信息:

请查看与 Azure Maps 和位置智能应用程序相关联的常见技术术语的术语表: