首页 / 浏览问题 / 组件GIS / 问题详情
画圆查询点图层
zhl
9EXP 2017年03月29日
var drawCircle = new SuperMap.Control.DrawFeature(circleLayer, SuperMap.Handler.RegularPolygon, {handlerOptions: {sides: 50}});
drawCircle.events.on({"featureadded": function (drawGeometryArgs) {
            drawCircle.deactivate();
            var sql = "SITEID>0";
            var queryByGeometryParameters, queryService;
            queryByGeometryParameters = new SuperMap.REST.GetFeaturesByGeometryParameters({
                   datasetNames: ["lwjc:view_base_bridge"],
                   fields: ["SITEID","layer_type","BRIDGE_NAME","START_STAKE","END_STAKE"],
                   attributeFilter: sql,
                   spatialQueryMode: SuperMap.REST.SpatialQueryMode.INTERSECT,
                   geometry: geometry
             });
            queryService = new SuperMap.REST.GetFeaturesByGeometryService(queryUrl, {
                eventListeners: {
                    "processCompleted": function (featureSet) {
                        if(flag){
                            callback && callback(featureSet);
                        }else{
                            queryCallback(featureSet, map, layerConfig, callback);   
                        }
                    },
                    "processFailed": function (e) {  
                        console.log(e.error.errorMsg);
                    }
                }
            });
            queryService.processAsync(queryByGeometryParameters);

        }
}});

使用该方法查询点图层,总是查询不到数据,数据个数为零,请问是什么原因

1个回答

你好,请问你的GetFeaturesByGeometryParameters中的geometry是在哪里定义的呢?怎么定义的呢?

你的geometry应该是去获取绘制返回结果drawGeometryArgs里面的geometry,检查一下你的geometry是否有值?

在processCompleted这个方法里面查看featureSet是没有返回数据的是吗?
1,603EXP 2017年03月29日
哦哦,是的,geometry是你说的画完以后的,而且有值,我代码没贴全,是的,featureset.result.featureCount是0
那么请问你绘制的geometry的坐标是什么范围,根据geometry坐标值能查到数据么?
简单来说,你画的geometry(和当前iClient JS map对象坐标系一致)跟你数据集的坐标系一致么?
请问如何画的时候如何设置geometry 的空间坐标系
我确认了,是一个坐标系,4326
你打开idesktop,在里面去查相同数据集看能不能查到呢?

如果你还是有问题的话就私信我你的联系方式吧
...