# QueryPOI
查阅Cesium API

#### new mars3d.query.QueryPOI(options)
query/QueryPOI.js 10

POI查询 工具类基类（统一的方法、参数及回传的值）

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 可选 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`service` | QueryServiceType | string | `"gaode"` | 可选 服务类型，支持："tdt"天地图POI服务,"baidu"百度POI服务,,"gaode"高德POI服务
`key` | string | Array.<string> |  | 可选 对应服务的Token值
`city` | string | `'全国'` | 可选 百度POI时，限定查询的区域，支持城市及对应百度编码（Citycode）（指定的区域的返回结果加权，可能返回其他城市高权重结果。若要对返回结果区域严格限制，请使用city_limit参数）
`chinaCRS` | ChinaCRS | string | `"WGS84"` | 可选 标识当前地图的国内坐标系,传入 map.chinaCRS
`headers` | object | `{}` | 可选 将被添加到HTTP请求头。
`proxy` | Cesium.DefaultProxy |  | 可选 加载资源时使用的代理。

##### 参考:

- 百度POI文档： https://lbsyun.baidu.com/faq/api?title=webapi/guide/webservice-placeapi
- 高德POI文档： https://lbs.amap.com/api/webservice/guide/api/search
- 天地图POI文档： http://lbs.tianditu.gov.cn/server/search2.html

### 方法

#### autoTip(queryOptions) → Promise.<object>
query/QueryPOI.js 111

搜索提示

参数名称 | 类型 | 描述信息
--- | --- | ---
`queryOptions` | object | 查询参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`text` | string |  | 输入建议关键字（支持拼音）
`location` | LngLatPoint | Cesium.Cartesian3 | string | Array | object |  | 可选 建议使用location参数，可在此location附近优先返回搜索关键词信息,在请求参数city不为空时生效
`city` | string |  | 可选 可以限定查询的行政区
`citylimit` | boolean | `false` | 可选 取值为"true"，仅返回city中指定城市检索结果
`level` | string | `18` | 可选 TdtPOI时，查询的级别,1-18级
`extent` | object |  | 可选 TdtPOI时，查询的地图范围: { xmin: 70, xmax: 140, ymin: 0, ymax: 55 } ，可以传入extent: map.getExtent()
`success` | function |  | 可选 查询完成的回调方法
`error` | function |  | 可选 查询失败的回调方法

##### 返回值:

查询完成的Promise,等价于success参数

#### detail(queryOptions) → Promise.<object>
query/QueryPOI.js 143

根据ID获取POI点详情

参数名称 | 类型 | 描述信息
--- | --- | ---
`queryOptions` | object | 查询参数
参数名称 | 类型 | 描述信息
--- | --- | ---
`id` | string | AOI唯一标识， 最多可以传入1个id，传入目标区域的poiid即可
`success` | function | 可选 查询完成的回调方法
`error` | function | 可选 查询失败的回调方法

##### 返回值:

查询完成的Promise,等价于success参数

#### getAddress(queryOptions) → Promise.<object>
query/QueryPOI.js 66

根据经纬度坐标获取地址，逆地理编码

参数名称 | 类型 | 描述信息
--- | --- | ---
`queryOptions` | object | 查询参数
参数名称 | 类型 | 描述信息
--- | --- | ---
`location` | LngLatPoint | Cesium.Cartesian3 | string | Array | object | 可选 经纬度坐标
`success` | function | 可选 查询完成的回调方法
`error` | function | 可选 查询失败的回调方法

##### 返回值:

查询完成的Promise,等价于success参数

#### query(queryOptions) → Promise.<object>
query/QueryPOI.js 180

搜索

参数名称 | 类型 | 描述信息
--- | --- | ---
`queryOptions` | object | 查询参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`text` | string |  | 检索关键字。支持多个关键字并集检索，不同关键字间以空格符号分隔，最多支持10个关键字检索。
`types` | string | `''` | 可选 检索分类偏好，与text组合进行检索，多个分类以","分隔（POI分类），如果需要严格按分类检索，请通过text参数设置
`graphic` | BaseGraphic | * |  | 可选 限定的搜索区域
`limit` | boolean | `false` | 可选 取值为"true"，严格返回限定区域内检索结果
`level` | string | `18` | 可选 TdtPOI时，查询的级别,1-18级
`extent` | object |  | 可选 TdtPOI时，查询的地图范围: { xmin: 70, xmax: 140, ymin: 0, ymax: 55 } ，可以传入extent: map.getExtent()
`page` | number | `0` | 可选 分页页码，默认为0, 0代表第一页，1代表第二页，以此类推。常与 count 搭配使用，仅当返回结果为poi时可以翻页。
`count` | number | `20` | 可选 单次召回POI数量，默认为10条记录，最大返回20条。多关键字检索时，返回的记录数为关键字个数count。多关键词检索时，单页返回总数=关键词数量count
`error` | function |  | 可选 查询失败的回调方法
`success` | function |  | 可选 查询完成的回调方法

##### 返回值:

查询完成的Promise,等价于success参数

#### queryCircle(queryOptions) → Promise.<object>
query/QueryPOI.js 256

周边搜索(圆形搜索)

参数名称 | 类型 | 描述信息
--- | --- | ---
`queryOptions` | object | 查询参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`text` | string |  | 检索关键字。支持多个关键字并集检索，不同关键字间以空格符号分隔，最多支持10个关键字检索。
`types` | string | `''` | 可选 检索分类偏好，与text组合进行检索，多个分类以","分隔（POI分类），如果需要严格按分类检索，请通过text参数设置
`location` | LngLatPoint | Cesium.Cartesian3 | string | Array | object |  | 可选 圆形区域检索中心点，取值范围:0-50000。规则：大于50000按默认值，单位：米
`radius` | number | `3000` | 可选 圆形区域检索半径，单位为米。（增加区域内数据召回权重，如需严格限制召回数据在区域内，请搭配使用radiuslimit参数），当半径过大，超过中心点所在城市边界时，会变为城市范围检索，检索范围为中心点所在城市
`limit` | boolean | `false` | 可选 是否严格限定召回结果在设置检索半径范围内。true（是），false（否）。设置为true时会影响返回结果中total准确性及每页召回poi数量， 设置为false时可能会召回检索半径外的poi。
`count` | number | `20` | 可选 单次召回POI数量，最大返回25条。多关键字检索时，返回的记录数为关键字个数count。多关键词检索时，单页返回总数=关键词数量count
`page` | number | `0` | 可选 分页页码，默认为0, 0代表第一页，1代表第二页，以此类推。常与 count 搭配使用，仅当返回结果为poi时可以翻页。
`success` | function |  | 可选 查询完成的回调方法
`error` | function |  | 可选 查询失败的回调方法

##### 返回值:

查询完成的Promise,等价于success参数

#### queryExtent(queryOptions) → Promise.<object>
query/QueryPOI.js 327

矩形范围内搜索（可用于视野内，瓦片格内）

参数名称 | 类型 | 描述信息
--- | --- | ---
`queryOptions` | object | 查询参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`text` | string |  | 检索关键字。支持多个关键字并集检索，不同关键字间以空格符号分隔，最多支持10个关键字检索。
`types` | string | `''` | 可选 检索分类偏好，与text组合进行检索，多个分类以","分隔（POI分类），如果需要严格按分类检索，请通过text参数设置
`extent` | Array.<Array> | object |  | 可传入左上右下两顶点坐标对或{ xmin: 70, xmax: 140, ymin: 0, ymax: 55 }；
`limit` | boolean | `false` | 可选 是否严格限定召回结果在设置检索的多边形或矩形范围内。true（是），false（否）。设置为true时会影响返回结果中total准确性及每页召回poi数量， 设置为false时可能会召回检索半径外的poi。
`count` | number | `20` | 可选 单次召回POI数量，最大返回25条。多关键字检索时，返回的记录数为关键字个数count。多关键词检索时，单页返回总数=关键词数量count
`page` | number | `0` | 可选 分页页码，默认为0, 0代表第一页，1代表第二页，以此类推。常与 count 搭配使用，仅当返回结果为poi时可以翻页。
`success` | function |  | 可选 查询完成的回调方法
`error` | function |  | 可选 查询失败的回调方法

##### 返回值:

查询完成的Promise,等价于success参数

#### queryPolygon(queryOptions) → Promise.<object>
query/QueryPOI.js 295

多边形搜索

参数名称 | 类型 | 描述信息
--- | --- | ---
`queryOptions` | object | 查询参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`text` | string |  | 检索关键字。支持多个关键字并集检索，不同关键字间以空格符号分隔，最多支持10个关键字检索。
`types` | string | `''` | 可选 检索分类偏好，与text组合进行检索，多个分类以","分隔（POI分类），如果需要严格按分类检索，请通过text参数设置
`polygon` | Array.<Array> |  | 经纬度数组，经纬度小数点后不得超过6位。多边形为矩形时，可传入左上右下两顶点坐标对；其他情况下首尾坐标对需相同。
`limit` | boolean | `false` | 可选 是否严格限定召回结果在设置检索的多边形或矩形范围内。true（是），false（否）。设置为true时会影响返回结果中total准确性及每页召回poi数量， 设置为false时可能会召回检索半径外的poi。
`count` | number | `20` | 可选 单次召回POI数量，最大返回25条。多关键字检索时，返回的记录数为关键字个数count。多关键词检索时，单页返回总数=关键词数量count
`page` | number | `0` | 可选 分页页码，默认为0, 0代表第一页，1代表第二页，以此类推。常与 count 搭配使用，仅当返回结果为poi时可以翻页。
`success` | function |  | 可选 查询完成的回调方法
`error` | function |  | 可选 查询失败的回调方法

##### 返回值:

查询完成的Promise,等价于success参数

#### queryText(queryOptions) → Promise.<object>
query/QueryPOI.js 222

关键字搜索

参数名称 | 类型 | 描述信息
--- | --- | ---
`queryOptions` | object | 查询参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`text` | string |  | 检索关键字。支持多个关键字并集检索，不同关键字间以空格符号分隔，最多支持10个关键字检索。
`types` | string | `''` | 可选 检索分类偏好，与text组合进行检索，多个分类以","分隔（POI分类），如果需要严格按分类检索，请通过text参数设置
`city` | string |  | 可选 可以重新限定查询的区域，默认为类构造时传入的city
`citylimit` | boolean | `false` | 可选 取值为"true"，仅返回city中指定城市检索结果
`level` | string | `18` | 可选 TdtPOI时，查询的级别,1-18级
`extent` | object |  | 可选 TdtPOI时，查询的地图范围: { xmin: 70, xmax: 140, ymin: 0, ymax: 55 } ，可以传入extent: map.getExtent()
`count` | number | `20` | 可选 单次召回POI数量，最大返回25条。多关键字检索时，返回的记录数为关键字个数count。多关键词检索时，单页返回总数=关键词数量count
`page` | number | `0` | 可选 分页页码，默认为0, 0代表第一页，1代表第二页，以此类推。常与 count 搭配使用，仅当返回结果为poi时可以翻页。
`success` | function |  | 可选 查询完成的回调方法
`error` | function |  | 可选 查询失败的回调方法

##### 返回值:

查询完成的Promise,等价于success参数

#### setOptions(options) → void
query/QueryPOI.js 39

更新参数

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 与类的构造方法参数相同

##### 返回值: