Class: FMSearchRequest

FMSearchRequest

FMSearchRequest 是地图查询查询参数类, 在进行地图查询时需要构建查询参数对象。 属于 fengmap.analyser.min.js

new fengmap.FMSearchRequest()

Members

buildings

Properties:
Name Type Description
buildings Array

buildingID集合,默认为全部子建筑的全部楼层。不查询子建筑可以设置为[]

buildings[].buildingID string

子地图的ID。

buildings[].levels Array

子地图的楼层。

levels

Properties:
Name Type Description
levels array

查询楼层的levels数组。默认为地图的全部楼层,需要查询指定楼层时一定要设置该参数。

onlyInBuilding

Properties:
Name Type Description
onlyInBuilding bool

true 查询结果只包含室内子建筑部分;false 查询结果包含室内子建筑和室外部分,默认false

type

Properties:
Name Type Description
type fengmap.FMType

查询元素类型。默认为fengmap.FMType.MODEL,需要查询多元素类型时可以使用|添加多个枚举类型,例如:FMType.EXTERNAL_MODEL | FMType.MODEL | FMType.FACILITY | FMType.LABEL。

Methods

addCondition(type)

添加查询条件。不添加查询条件时,会返回levels、type设置范围内的全部数据内容。

Name Type Description
type Object

添加查询元素的遍历条件,可以添加多个条件,查询多条件的交集。支持的条件有:
1.按照元素名称精准查询,参数值部分支持字符串的同时支持object{text': '蜂鸟视图',fuzzy:false,matchCase:false}。如果使用object并设置了fuzzy为true,则进行模糊查询。如果使用object并设置了matchCase为false,则英文字母忽略大小写匹配。
2.按照元素英文名称精准查询,参数值部分支持字符串的同时支持object{text': 'Fengmap',fuzzy:true,matchCase:false}。如果使用object并设置了fuzzy为true,则进行模糊查询。如果使用object并设置了matchCase为false,则英文字母忽略大小写匹配。
3.模糊查询,参数值部分支持字符串的同时支持object{text': '蜂',fuzzy:true,matchCase:false}。如果使用object并设置了fuzzy为false,则进行精确查询。如果使用object并设置了matchCase为false,则英文字母忽略大小写匹配。'Fengmap',fuzzy:true}。如果使用object并设置了fuzzy为true,则进行模糊查询。
4.request.addCondition({ 'typeID': [100000, 100100, 200000] }); 按照类型编码查询,参数值部分必须为数组。
5.request.addCondition({ 'keyword': '蜂' }); 模糊查询,参数值部分支持字符串的同时支持object{text': '蜂',fuzzy:false}。如果使用object并设置了fuzzy为false,则进行精确查询。
6.request.addCondition({
'circle': {
'center': { 'x': 12619619.607053667, 'y': 2621894.340 },
'radius': 10
}
}); 周边查询,需要设置中心点和半径。
7.request.addCondition({
'polygon': [{
'x': 12619619.607053667, 'y': 2621894.340
},{
'x': 12619610.607053667, 'y': 2621893.340
},{
'x': 12619611.607053667, 'y': 2621884.340
},{
'x': 12619620.607053667, 'y': 2621885.340
},{
'x': 12619619.607053667, 'y': 2621894.340
}]
}); 多边形查询,需要设置坐标集合且顶点数不少于3个。
8.request.addCondition({ 'contain': { 'point': {x: 12619631.270822816, y: 2621871.604933822} } });包含查询,计算包含参数坐标的元素。
9.request.addCondition({ 'line': { 'coords': [{ 'x': 12619619.607053667, 'y': 2621894.340 },{ 'x': 12619610.607053667, 'y': 2621893.340 },{ 'x': 12619611.607053667, 'y': 2621884.340 },{ 'x': 12619620.607053667, 'y': 2621885.340 },{ 'x': 12619619.607053667, 'y': 2621894.340 }], 'buffer': 0.5 } });线缓冲区查询,输入一条线(多个坐标点组成的数组)及缓冲区buffer大小,返回与线及其buffer相交的地图元素