    ﻿import { Zondy } from '../../common/Base';
    import { QueryServiceBase } from './QueryServiceBase';
    /**
     * @author 基础平台/产品2部 龚跃健
     * @class module:要素服务.QueryLayerFeature
     * @classdesc 矢量图层要素查询类
     * @description Zondy.Service.QueryLayerFeature
     * @extends  Zondy.Service.QueryServiceBase
     * @param queryParam -{Zondy.Object.QueryByLayerParameter} 查询参数信息。
     * @param option - {Object} 属性键值对。<br>
     * @param {Zondy.Object.QueryByLayerParameter} [option.queryParam = null] 查询参数信息
     * @example
     //创建查询结构对象
     var queryStruct = new Zondy.Service.QueryFeatureStruct();
     //是否包含几何图形信息
     queryStruct.IncludeGeometry = true;
     //创建一个用于查询的矩形
     var geomObj = new Zondy.Object.Rectangle(93, 35, 111, 56);
     //指定查询规则
     var rule = new Zondy.Service.QueryFeatureRule({
                        //是否将要素的可见性计算在内
                        EnableDisplayCondition: false,
                        //是否完全包含
                        MustInside: false,
                        //是否仅比较要素的外包矩形
                        CompareRectOnly: false,
                        //是否相交
                        Intersect: true
                    });
     //实例化查询参数对象
     var queryParam = new Zondy.Service.QueryByLayerParameter("gdbp://MapGisLocal/OpenLayerVecterMap/ds/世界地图经纬度/sfcls/世界政区", {
                        //几何对象
                        geometry: geomObj,
                        //结果格式
                        resultFormat: "json",
                        //查询结构
                        struct: queryStruct,
                        //查询规则
                        rule: rule
                    });
     //设置查询分页号
     queryParam.pageIndex = 0;
     //设置查询要素数目
     queryParam.recordNumber = 20;
     //实例化地图文档查询服务对象
     var queryService = new Zondy.Service.QueryLayerFeature(queryParam, {
                        //IP地址
                        ip: "develop.smaryun.com",
                        //端口号
                        port: "6163"
                    });
     //执行查询操作，querySuccess为成功回调，queryError为失败回调
     queryService.query(function (res) {
                            console.log(res);
                        }, function (error) {
                            console.log(error);
                        });
     */
    class QueryLayerFeature extends QueryServiceBase {
        constructor(queryParam, option) {
            var options = option ? option : {};
            super(options);
            /**
             * @private
             * @member Zondy.Service.QueryLayerFeature.prototype.queryParam
             * @type {Zondy.Object.QueryByLayerParameter}
             * @description  查询参数信息
             */
            this.queryParam = queryParam;

            /**
             * @private
             * @member Zondy.Service.QueryLayerFeature.prototype.partUrl
             * @type {String}
             * @description  查询参数地址
             */
            this.partUrl = 'layer/query';
        }
    }
    export { QueryLayerFeature };
    Zondy.Service.QueryLayerFeature = QueryLayerFeature;