WS.QueryObject
查询后台图层中的要素(Feature)。
示例
var wsApiBasePath = "//api.dituyi.com.cn";//API地址
var wsApiKey = "6296431363854d62a1bffc31ee7dd6a2";//用户key
var wsConf = {
apiBasePath: wsApiBasePath,
apiKey: wsApiKey
};
var wServer = new WS.WServer(wsConf);//服务连接
var fs = new WS.WServer(wsConf).createFeatureService();//创建要素服务
//创建查询对象
var layerName = "msp_demo_pt";//
var queryObj = fs.createQueryObject(layerName);
//设置查询条件
queryObj.setOutFields('*');
queryObj.setWhere("1=1");
//执行查询
queryObj.execute(function (features) {
for(i in features){
var feature = features[i];
var latlng = W.latLng(feature.geometry.coordinates[1],feature.geometry.coordinates[0]);
var name = feature.properties.name ? feature.properties.name : "";
var html = "名称:" + name;
var marker = W.marker(latlng).bindPopup(html).addTo(map);
}
});
构造函数
通过WS.FeatureService类的createQueryObject(layerName)方法创建WS.QueryObject对象。
方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| setOutFields( < String > outFields) | void | 设置查询时返回的字段。可使用"*" 表示返回所有字段;指定多个字段时使用“,”分隔字段名,如:“id,name” |
| setWhere( < String > where) | void | 设置查询时的where条件 |
| setGeometry( < Geometry > geometry) | void | 设置查询时的空间约束 |
| setBufferDistance(distance) | void | 设置缓冲半径,单位为米 |
| setOrderByFields(orderByFields) | void | 设置查询时的排序字段 |
| setPageSize( < Integer > pageSize) | void | 设置分页查询时每页的条数 |
| setReturnGeometry( < Boolean > returnGeometry) | void | 设置查询结果中是否包括空间位置信息,为true则包含,为false不包含。默认为true |
| getOutFields() | String | 获取要返回的字段 |
| getWhere() | String | 获取where条件 |
| getGeometry() | Geometry | 获取空间约束 |
| getBufferDistance() | number | 获取缓冲半径,单位为米 |
| getOrderByFields() | String | 获取查询时的排序字段 |
| getPageSize() | Integer | 获取分页查询时每页的条数 |
| getReturnGeometry() | boolean | 获取查询结果是否包含空间位置信息 |
| execute( < Function > callback) | void | 使用设置的参数,调用后台查询服务,执行查询 |
| executeWithPage( < Function > callback) | void | 使用设置的参数,调用后台服务,执行分页查询,回调结果是PageQueryResult |
| queryById( < Integer > id, < Function > callback) | void | 直接调用后台服务,根据ID查询 |
| queryByIds(ids, callback) | void | 直接调用后台服务,根据多个id查询 |