---
title: QueryGeometry
source: https://vjmap.com/doc/QueryGeometry.html
---

# QueryGeometry
表示来自 的屏幕空间查询的数据类`Map#queryRenderedFeatures`。所有内部几何图形和数据都旨在是不可变的和只读的。它的生命周期仅适用于查询的持续时间和处理查询时地图的固定状态。

### isPointQuery
如果用户的初始查询是单点，则返回 true

**`boolean`**如果初始查询几何是单个点，则返回True

### bufferedScreenGeometry
由于数据驱动的样式特征不统一大小（例如`circle-radius`），并且可以与其原始位置不同地偏移（例如， with `*-translate`）。这意味着我们必须为每个瓦片扩展我们的查询区域以解释这些属性的变化。每个 tile 在解析时计算一个 tile 级别的最大填充值（以屏幕空间像素为单位），这个函数让我们计算每个 tile 的屏幕空间查询几何的缓冲版本。

#### Parameters
- `buffer` **`number`** 以屏幕空间像素为单位的平铺填充。

返回**`Array`&lt; [Point][165] >**缓冲的查询几何。

### bufferedCameraGeometry
当地图倾斜时，与查询相交的一些 3D 要素将不会在地球表面与查询相交。相反，该特征可能更近，并且仅与查询相交，因为它突出到空中。

这将返回一个几何图形，它是一个凸多边形，它包含查询视锥体和相机下方的点。与 类似`bufferedScreenGeometry`，添加了缓冲以解决油漆属性的变化。

案例1：相机下方的点正好在查询量后面+----------+ | | | | | | \+ + XX XX XX XX XX

情况 2：点在右后方 +---------+ | X | X | XX + X XXX XX XXXX X XXX XX XX X XXX

情况 3：点在左后方 +---------+ X | X | XX | X + X XXXX XX XXX X XXXX X XXXX XXX

#### Parameters
- `buffer` **`number`** 以屏幕空间像素为单位的平铺填充。

返回**`Array`&lt; [Point][165] >**缓冲的查询几何。

### containsTile
检查此查询几何图形中是否包含图块。

#### Parameters
- `tile` **平铺**要检查的平铺。
- `transform` **Transform**当前地图变换。
- `use3D` **`boolean`** 指示是否查询 3D 特征的布尔值。

返回**TilespaceQueryGeometry？**如果 tile 不相交，则返回 undefined

### bufferedscreenmercator
这些方法在由`Transform#pointCoordinate3d`. 图块具有不同的填充值，但是很可能多个图块根据样式共享相同的填充值。在这种情况下，我们希望重用先前计算的地形射线投射的结果。

#### Parameters
- `padding` **`number`**
- `transform` **转换**

返回**`Array`&lt;`墨卡托坐标`\>**

### createFromScreenPoints
帮助构建实例同时考虑当前地图状态的工厂方法。

#### Parameters
- `geometry` **( [PointLike][166] | \` [PointLike` , [PointLike][166] \])**查询几何。
- `transform` **Transform**当前地图变换。

返回**[QueryGeometry][253]** QueryGeometry 类的实例。
