首页 / 浏览问题 / 云GIS / 问题详情
几何查询中的框选无法查询,但圆选和自定义都可以
28EXP 2017年07月10日

在对地图进行框选时,系统就报错了,如下:

1个回答

你请求的url是iServer数据服务的,而数据服务没有queryResults资源(地图服务有)
请检查具体代码
iClient for JavaScript 里querybySQL填iServer地图服务,getFeaturebySQL填iServer数据服务。
1,780EXP 2017年07月10日
那为什么圆选可以查的到呢,都是用的一样的源码?????
可以把你的代码粘出来看看吗?数据集查询和地图查询是不一样的
矩形的查询:

var feature = obj.feature;
    feature.style = style;
    vectorLayer.addFeatures(feature);
    var queryBounds = feature.geometry.bounds;

    var queryParam, queryByBoundsParams, queryService;
    queryParam = new SuperMap.REST.FilterParameter({
        name: "消防站点@ShenZhenNanShan_Data"
    }); //FilterParameter设置查询条件,name是必设的参数,(图层名称格式:数据集名称@数据源别名)
    queryByBoundsParams = new SuperMap.REST.QueryByBoundsParameters({
        queryParams: [queryParam],
        bounds: queryBounds
    }); //queryParams查询过滤条件参数数组。bounds查询范围
    queryService = new SuperMap.REST.QueryByBoundsService(urldata, {
        eventListeners: {
            "processCompleted": processCompleted,
            "processFailed": processFailed
        }
    });
    queryService.processAsync(queryByBoundsParams); //向服务端传递参数,然后服务端返回对象

圆的查询:

var feature = new SuperMap.Feature.Vector();
    feature.geometry = drawGeometryArgs.feature.geometry,
        feature.style = style;
    vectorLayer.addFeatures(feature);

    var queryParam, queryByGeometryParameters, queryService;
    queryParam = new SuperMap.REST.FilterParameter({
        name: "消防站点@ShenZhenNanShan_Data"
    });
    queryByGeometryParameters = new SuperMap.REST.QueryByGeometryParameters({
        queryParams: [queryParam],
        geometry: drawGeometryArgs.feature.geometry,
        spatialQueryMode: SuperMap.REST.SpatialQueryMode.INTERSECT
    });
    queryService = new SuperMap.REST.QueryByGeometryService(url, {
        eventListeners: {
            "processCompleted": processCompleted,
            "processFailed": processFailed
        }
    });
    queryService.processAsync(queryByGeometryParameters);

你的圆的几何查询的url和矩形查询的urldata应该是不一样的吧?

你的圆的几何查询应该是用的地图服务的url所以可以查询的出来

...