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查询 |