diff --git a/README.md b/README.md index 25af6f129..fad92b38d 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ MapGIS Client for JavaScript:是增强的MapGIS Web开发平台,集成Openla ## 一、开始 ### 1、司马云 -[MapGIS Client for JavaScript](http://develop.smaryun.com:8899/) +[MapGIS Client for JavaScript](http://develop.smaryun.com/) > 本脚本所有的示例都在对应的演示站点有详细的说明教程 diff --git a/docs/jsdoc-config/leaflet/index.md b/docs/jsdoc-config/leaflet/index.md index e1dab62c5..beea464f4 100644 --- a/docs/jsdoc-config/leaflet/index.md +++ b/docs/jsdoc-config/leaflet/index.md @@ -16,7 +16,7 @@ 1. `移动设备`的支持-内部代码框架设计的时候考虑到移动设备的支持.针对移动设备天然支持. -* 官网(website):[http://client.snanyun.com:8899/ui/index.html](http://client.snanyun.com:8899/ui/index.html) +* 官网(website):[http://develop.smaryun.com/#/index](http://develop.smaryun.com/#/index) * 源码(source code):[https://github.com/ParnDeedlit/WebClient-Leaflet](https://github.com/ParnDeedlit/WebClient-Leaflet) diff --git a/docs/jsdoc-config/mapboxgl/docs.json b/docs/jsdoc-config/mapboxgl/docs.json index adca77895..e6c4e8e05 100644 --- a/docs/jsdoc-config/mapboxgl/docs.json +++ b/docs/jsdoc-config/mapboxgl/docs.json @@ -21,7 +21,9 @@ "src/service/node_modules/turf-jsts", "src/service/node_modules/@turf", "src/service/node_modules/polygon-clipping", - "src/service/node_modules/splaytree" + "src/service/node_modules/splaytree", + "src/mapboxgl/node_modules", + "src/mapboxgl/theme" ] }, "plugins": ["plugins/markdown"], diff --git a/docs/jsdoc-config/mapboxgl/index.md b/docs/jsdoc-config/mapboxgl/index.md index 9e0de3b96..7e187abbf 100644 --- a/docs/jsdoc-config/mapboxgl/index.md +++ b/docs/jsdoc-config/mapboxgl/index.md @@ -6,16 +6,14 @@ #### MapboxGL 优点 -> leaflet是常规的的最适合常规gis开发的地图,因此核心功能就是`传统GIS`功能. +> MapboxGL是最适合常规gis开发的地图,因此核心功能就是`传统GIS`功能. 1. `高效矢量瓦片`-真正高效实用的矢量瓦片 1. 顶级可视化-真正`顶级的可视化渲染`,mapboxGL,echartGL,KeplerGl等。 1. `高清矢量图形`- 真正顶级的高清矢量图形绘制SVG,Canvas. 1. Top级互联网技术加持 - 国内Baidu,国外Uber,Mapbox等顶级可视化巨头技术加持. - - -* 官网(website):[http://client.snanyun.com:8899/ui/index.html](http://client.snanyun.com:8899/ui/index.html) +* 官网(website):[http://develop.smaryun.com/#/index](http://develop.smaryun.com/#/index) * 源码(source code):[https://github.com/ParnDeedlit/WebClient-MapboxGL](https://github.com/ParnDeedlit/WebClient-mapboxgl) diff --git a/docs/jsdoc-config/openlayers/index.md b/docs/jsdoc-config/openlayers/index.md index c61789ce8..429c0cf0b 100644 --- a/docs/jsdoc-config/openlayers/index.md +++ b/docs/jsdoc-config/openlayers/index.md @@ -14,7 +14,7 @@ 1. 兼容性 - 兼容老的ie6789等疑难浏览器问题. -* 官网(website):[http://client.snanyun.com:8899/ui/index.html](http://client.snanyun.com:8899/ui/index.html) +* 官网(website):[http://develop.smaryun.com/#/index](http://develop.smaryun.com/#/index) * 源码(source code):[https://github.com/ParnDeedlit/WebClient-openlayers](https://github.com/ParnDeedlit/WebClient-openlayers) diff --git "a/docs/jsdoc-config/service/tutorials/1.\345\277\253\351\200\237\345\205\245\351\227\250.md" "b/docs/jsdoc-config/service/tutorials/1.\345\277\253\351\200\237\345\205\245\351\227\250.md" new file mode 100644 index 000000000..e69de29bb diff --git a/package.json b/package.json index 591715135..7585777bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mapgis/webclient", - "version": "10.5.4", + "version": "10.5.6", "description": "", "main": "index.js", "scripts": { @@ -35,7 +35,7 @@ "test-init": "node ./node_modules/karma/bin/karma init karma.conf.js" }, "author": "mapgis", - "license": "Apache2", + "license": "Apache-2.0", "devDependencies": { "babel-core": "^6.26.3", "babel-eslint": "^10.1.0", @@ -86,16 +86,19 @@ "@mapgis/mapbox-gl": "^1.9.0", "@turf/turf": "^6.3.0", "axios": "^0.18.0", - "cesium": "^1.70.1", + "cesium": "1.84.0", "d3": "^5.16.0", "echarts": "^4.4.0", "fast-xml-parser": "^3.17.6", + "fetch-ie8": "^1.5.0", "jsdoc": "^3.6.3", "leaflet": "^1.7.1", "mapv": "^2.0.40", "ol": "5.3.3", "proj4": "2.3.15", + "promise-polyfill": "^8.2.3", "qs": "^6.9.4", - "webfont-matcher": "^1.1.0" + "webfont-matcher": "^1.1.0", + "svg-pathdata": "^6.0.0" } } diff --git a/src/cesiumjs/index.js b/src/cesiumjs/index.js index 48c051637..313ba64c1 100644 --- a/src/cesiumjs/index.js +++ b/src/cesiumjs/index.js @@ -453,4 +453,4 @@ export { WMTSCapabilities, OGCWMTSInfo, OGCWMSInfo -}; +}; \ No newline at end of file diff --git a/src/cesiumjs/layer/M3DLayer.js b/src/cesiumjs/layer/M3DLayer.js index 57e22c515..64a88d5cc 100644 --- a/src/cesiumjs/layer/M3DLayer.js +++ b/src/cesiumjs/layer/M3DLayer.js @@ -188,7 +188,7 @@ export default class M3DLayer extends BaseLayer { for (let i = 0; i < layers.length; i++) { const layer = layers[i]; const type = parseInt(layer.layerType, 10); - if (type === LayerType.M3DLAYER) { + if (type === LayerType.M3DLAYER || type === LayerType.MODELLAYER) { const { layerRenderIndex, layerIndex, gdbpUrl, isVisible } = layer; let isShow = true; diff --git a/src/cesiumjs/layer/ThirdPartyLayer.js b/src/cesiumjs/layer/ThirdPartyLayer.js index 2c38514a6..d7d4d34dc 100644 --- a/src/cesiumjs/layer/ThirdPartyLayer.js +++ b/src/cesiumjs/layer/ThirdPartyLayer.js @@ -140,7 +140,7 @@ export default class ThirdPartyLayer extends BaseLayer { * let tilelayer = thirdLayer.appendBaiduMap({ptype:'sate'}); */ appendBaiduMap(optionsParam) { - const baiduProvider = this.viewer.imageryLayers.addImageryProvider(new Cesium.BaiduMapProvider(optionsParam)); + const baiduProvider = this.viewer.imageryLayers.addImageryProvider(new Cesium.BaiduMapImagerProvider(optionsParam)); return baiduProvider; } diff --git a/src/cesiumjs/overlay/MapvLayer.js b/src/cesiumjs/overlay/MapvLayer.js index d180714e4..9a08ec0ff 100644 --- a/src/cesiumjs/overlay/MapvLayer.js +++ b/src/cesiumjs/overlay/MapvLayer.js @@ -15,7 +15,7 @@ var idIndex = 0; * @param {Boolean} [mapVOptions.cesium.postRender=false] 是否实时渲染 * @param {Boolean} [mapVOptionscesium.cesium.postRenderFrame=30] 每间隔多少帧渲染一次 * @param container - {Element} 外部传入的div;外接的方式使用mapv - * @example + * @example * // 构建对应的dataset var dataSet = new mapv.DataSet(data); @@ -140,7 +140,7 @@ export default class MapvLayer { this.scene.camera.moveStart.removeEventListener(this.postStartEvent, this); this.scene.camera.moveEnd.removeEventListener(this.postEndEvent, this); } else { - let handler = this.handler; + let handler = this.handler; if (handler) { handler.removeInputAction(this.innerMoveEnd, Cesium.ScreenSpaceEventType.WHEEL); handler.removeInputAction(this.innerMoveStart, Cesium.ScreenSpaceEventType.LEFT_DOWN); @@ -274,10 +274,19 @@ export default class MapvLayer { canvas.style.pointerEvents = 'none'; canvas.style.zIndex = this.mapVOptions.zIndex || 100; - canvas.width = parseInt(this.map.canvas.width); - canvas.height = parseInt(this.map.canvas.height); - canvas.style.width = this.map.canvas.style.width; - canvas.style.height = this.map.canvas.style.height; + // canvas.width = parseInt(this.map.canvas.width); + // canvas.height = parseInt(this.map.canvas.height); + // canvas.style.width = this.map.canvas.style.width; + // canvas.style.height = this.map.canvas.style.height; + canvas.width = + parseInt(this.map.canvas.width) || + parseInt(this.map.container.offsetWidth); + canvas.height = + parseInt(this.map.canvas.height) || + parseInt(this.map.container.offsetHeight); + canvas.style.width = parseInt(this.map.container.offsetWidth) + "px"; + canvas.style.height = parseInt(this.map.container.offsetHeight) + "px"; + var devicePixelRatio = this.devicePixelRatio; if (this.mapVOptions.context == '2d') { canvas.getContext(this.mapVOptions.context).scale(devicePixelRatio, devicePixelRatio); @@ -296,10 +305,18 @@ export default class MapvLayer { canvas.style.pointerEvents = 'none'; canvas.style.zIndex = this.mapVOptions.zIndex || 100; - canvas.width = parseInt(this.map.canvas.width); - canvas.height = parseInt(this.map.canvas.height); - canvas.style.width = this.map.canvas.style.width; - canvas.style.height = this.map.canvas.style.height; + // canvas.width = parseInt(this.map.canvas.width); + // canvas.height = parseInt(this.map.canvas.height); + // canvas.style.width = this.map.canvas.style.width; + // canvas.style.height = this.map.canvas.style.height; + canvas.width = + parseInt(this.map.canvas.width) || + parseInt(this.map.container.offsetWidth); + canvas.height = + parseInt(this.map.canvas.height) || + parseInt(this.map.container.offsetHeight); + canvas.style.width = parseInt(this.map.container.offsetWidth) + "px"; + canvas.style.height = parseInt(this.map.container.offsetHeight) + "px"; var devicePixelRatio = this.devicePixelRatio; if (this.mapVOptions.context == '2d') { canvas.getContext('2d').scale(devicePixelRatio, devicePixelRatio); @@ -378,10 +395,18 @@ export default class MapvLayer { canvas.style.position = 'absolute'; canvas.style.top = '0px'; canvas.style.left = '0px'; - canvas.width = parseInt(this.map.canvas.width); - canvas.height = parseInt(this.map.canvas.height); + // canvas.width = parseInt(this.map.canvas.width); + // canvas.height = parseInt(this.map.canvas.height); //canvas.style.width = this.map.canvas.style.width; //canvas.style.height = this.map.canvas.style.height; + canvas.width = + parseInt(this.map.canvas.width) || + parseInt(this.map.container.offsetWidth) * this.devicePixelRatio; + canvas.height = + parseInt(this.map.canvas.height) || + parseInt(this.map.container.offsetHeight) * this.devicePixelRatio; + canvas.style.width = parseInt(this.map.container.offsetWidth) + 'px'; + canvas.style.height = parseInt(this.map.container.offsetHeight) + 'px'; var devicePixelRatio = this.devicePixelRatio; if (this.mapVOptions.context == '2d') { canvas.getContext('2d').scale(devicePixelRatio, devicePixelRatio); diff --git a/src/cesiumjs/overlay/PopupLayer.js b/src/cesiumjs/overlay/PopupLayer.js index a23f48242..e8c34f718 100644 --- a/src/cesiumjs/overlay/PopupLayer.js +++ b/src/cesiumjs/overlay/PopupLayer.js @@ -1,7 +1,6 @@ import { CesiumZondy } from '../core/Base'; import { updataPopupPosition } from './popup/popup'; -import Cesium from '../../../node_modules/cesium/Source/Cesium'; var popupsIdIndex = 0; @@ -72,6 +71,7 @@ export default class PopupLayer { this.popupContentId = options.popupContentId || 'cesium-popup-content-id-' + popupsIdIndex++; this.options.postRender = this.options.postRender === undefined ? true : this.options.postRender; + this.Cesium = options.Cesium || window['Cesium']; this.scene = map.scene; this.camera = map.camera; @@ -83,7 +83,7 @@ export default class PopupLayer { this.onHide = onHide; } - let ScreenSpaceEventHandler = Cesium.ScreenSpaceEventHandler || window['Cesium'].ScreenSpaceEventHandler; + let ScreenSpaceEventHandler = this.Cesium.ScreenSpaceEventHandler || window['Cesium'].ScreenSpaceEventHandler; this.handler = new ScreenSpaceEventHandler(this.scene.canvas); @@ -96,7 +96,7 @@ export default class PopupLayer { this.cartesian = this.cartesian || this.position.cartesian || - Cesium.Cartesian3.fromDegrees(this.position.longitude, this.position.latitude, this.position.height); + this.Cesium.Cartesian3.fromDegrees(this.position.longitude, this.position.latitude, this.position.height); let vc = this.map.container; let cesumWidgetContainer = undefined; @@ -138,30 +138,27 @@ export default class PopupLayer { infoDiv.style.display = 'none'; if (typeof this.container === 'string') { infoDiv.innerHTML = - '
提交记录:<%= htmlWebpackPlugin.options.buildInfo.commit %>
+提交用户:<%= htmlWebpackPlugin.options.buildInfo.commitUserName %>
+提交日期: <%= htmlWebpackPlugin.options.buildInfo.commitDate %>
+编译用户: <%= htmlWebpackPlugin.options.buildInfo.buildUserName %>
+编译邮箱: <%= htmlWebpackPlugin.options.buildInfo.buildUserMail %>
+编译日期: <%= htmlWebpackPlugin.options.buildInfo.buildDate %>
+ + + + \ No newline at end of file diff --git a/src/mapboxgl/webpack/version/version.js b/src/mapboxgl/webpack/version/version.js new file mode 100644 index 000000000..903820c36 --- /dev/null +++ b/src/mapboxgl/webpack/version/version.js @@ -0,0 +1,26 @@ +const child_process = require('child_process'); + +// git 最后一次提交的 Head +const commit = child_process.execSync('git show -s --format=%H').toString().trim(); +const commitUserName = child_process.execSync('git show -s --format=%cn').toString().trim(); +const commitUserMail = child_process.execSync('git show -s --format=%ce').toString().trim(); +const commitDateObj = new Date(child_process.execSync(`git show -s --format=%cd`).toString()); +const commitDate = `${ + commitDateObj.getFullYear() + + '-' + + (commitDateObj.getMonth() + 1) + + '-' + + commitDateObj.getDate() + + ' ' + + commitDateObj.getHours() + + ':' + + commitDateObj.getMinutes() +}`; +const buildUserName = child_process.execSync('git config user.name').toString().trim(); +const buildUserMail = child_process.execSync('git config user.email').toString().trim(); +const nowDate = new Date(); +const buildDate = `${ + nowDate.getFullYear() + '-' + (nowDate.getMonth() + 1) + '-' + nowDate.getDate() + ' ' + nowDate.getHours() + ':' + nowDate.getMinutes() +}`; + +module.exports = { commit, commitUserName, commitUserMail, commitDate, buildUserName, buildUserMail, buildDate }; diff --git a/src/openlayers/layer/tileMapLayer.js b/src/openlayers/layer/tileMapLayer.js index 112d28d57..b5b28ca77 100644 --- a/src/openlayers/layer/tileMapLayer.js +++ b/src/openlayers/layer/tileMapLayer.js @@ -215,19 +215,19 @@ Zondy.Source.TileLayerSource = TileLayerSource; * @param {String} [opt_options.ip = ''] 服务器ip地址,本地为“127.0.0.1”或“localhost”。 * @param {String} [opt_options.port = ''] 服务器端口号,默认为6163 * @param {String} [opt_options.domain = ''] 服务器域名,注意:传入ip、port和传入domain两种方式二选一,代理服务器不提供端口号时可采用传入domain的方式。例如:domain:`http://www.sgic.net.cn/CoCloud3`。 - * @param {ol.ProjectionLike} [opt_options.projection = ''] 必选项,瓦片地图投影信息,通过如下方法获得 + * @param {ol.ProjectionLike} [opt_options.projection = ''] 可选项,瓦片地图投影信息,通过如下方法获得 * //projectionExtent为图层左下角到右上角坐标范围 * var projectionExtent = [114.12567815477894, 30.457571584721734, 114.47583026053915, 30.708389893334449]; * var projection = new ol.proj.Projection({ units: ol.proj.Units.DEGREES, extent: projectionExtent }); - * @param {Boolean} [opt_options.isAutoConfig = 'true'] 可选项,是否自动配置,默认为true + * @param {Boolean} [opt_options.isAutoConfig = 'true'] 可选项,是否自动配置瓦片服务参数,默认为true,注意:该参数为true时调用GetMapInfoService,获取瓦片的范围、分辨率等参数,为false时需要手动添加这些参数,且参数列表中必须指定projection,否则瓦片无法正常显示 * @param {Boolean} [opt_options.cache = 'false'] 可选项,瓦片地图是否为地图文档发布动态裁图方式,默认为false * @param {String} [opt_options.token = ''] 可选项,服务访问控制,如果在 MapGIS Server Manager 服务管理中开启token,须设置此项,其key值可在设置处获取。 * @param {Number} [opt_options.maxResolution = ''] 可选项,最大分辨率 - * @param {Number} [opt_options.minZoom = ''] 可选项,最小分辨率 - * @param {Number} [opt_options.maxZoom = ''] 可选项,最大分辨率 + * @param {Number} [opt_options.minZoom = ''] 可选项,最小缩放级别 + * @param {Number} [opt_options.maxZoom = ''] 可选项,最大缩放级别 * @param {String} [opt_options.tileOriginType = 'leftTop'] 可选项,瓦片裁剪方式,是左上还是左下的方式,即是新瓦片裁剪的方式还是旧瓦片。一般无需设置此参数,直接由原点和中心点进行判断,只有在某些特殊的裁剪的瓦片中需要用到。例如若裁剪瓦片时以左下角为原点,方式却是新瓦片的方式则需要设置此参数为leftTop。 * @param {Number} [opt_options.tileSize = '256'] 可选项,地图图片大小 * @example1 diff --git a/src/service/.eslintrc.js b/src/service/.eslintrc.js new file mode 100644 index 000000000..2c44087ca --- /dev/null +++ b/src/service/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + root: true, + env: { + node: true + }, + extends: ["plugin:vue/essential"], + rules: { + "no-console": process.env.NODE_ENV === "production" ? "error" : "off", + "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off" + }, + parserOptions: { + parser: "babel-eslint" + } +}; diff --git a/src/service/.yarnrc b/src/service/.yarnrc new file mode 100644 index 000000000..96fe37344 --- /dev/null +++ b/src/service/.yarnrc @@ -0,0 +1 @@ +registry "http://192.168.82.89:4873" \ No newline at end of file diff --git a/src/service/ArcGis/Circle.js b/src/service/ArcGis/Circle.js new file mode 100644 index 000000000..69c945c9e --- /dev/null +++ b/src/service/ArcGis/Circle.js @@ -0,0 +1,38 @@ +import { + Zondy, extend +} from "../common"; +import {ArcGisGeometry} from "./Geometry"; +import * as T from '@turf/turf' +import * as H from '@turf/helpers' + +/** + * @class module:ArcGis.ArcGisCircle + * @description ArcGis服务 + * @author 基础平台-杨琨 + * @param options - {Object} 必选项,构造圆对象参数。 + * @param {String} [options.center] 可选项。圆的中心点坐标,默认[0, 0]。 + * @param {String} [options.radius] 可选项。圆的半径,默认1000。 + * @param {String} [options.radiusUnit] 可选项。圆的半径单位,默认米,可选值["feet"|"kilometers"|"meters"|"miles"|"nautical-miles"|"yards"]。 + * @param {String} [options.numberOfPoints] 可选项。构成圆弧的插值数量,默认60。 + * @param {String} [options.geodesic] 可选项。启用自定义坐标系,默认false。 + * @param {ArcGisSpatialReference} [options.spatialReference] 可选项。多边形的空间坐标系,默认4326。 + */ +class ArcGisCircle extends ArcGisGeometry{ + constructor(options) { + super(options); + this.center = [0, 0]; + this.radius = 1000; + this.radiusUnit = "meters"; + this.numberOfPoints = 60; + this.geodesic = false; + this.type = "circle"; + + extend(this,options); + let opts = {steps: this.numberOfPoints, units: this.radiusUnit}; + let circle = T.circle(this.center, this.radius, opts); + this.rings = circle.geometry.coordinates; + } +} + +export {ArcGisCircle}; +Zondy.Service.ArcGisCircle = ArcGisCircle; \ No newline at end of file diff --git a/src/service/ArcGis/QueryTask.js b/src/service/ArcGis/QueryTask.js index 6a7db4785..acdc5df61 100644 --- a/src/service/ArcGis/QueryTask.js +++ b/src/service/ArcGis/QueryTask.js @@ -1,19 +1,25 @@ -import {Zondy} from '../common/Base'; +import {Zondy} from '../common'; import { - getPromise,getPromiseP,formatQuery,formatEdits,extend + formatQuery,extend } from '../common'; +import {ArcGisServiceBase} from "./ServiceBase"; class ArcGisQueryTask { constructor(options) { - this.options = { - url: null, - gdbVersion: null - } - extend(this.options,options); + this.url = null; + this.gdbVersion = null; + extend(this,options); } } -ArcGisQueryTask.prototype.execute = function (query, requestOptions) {} +ArcGisQueryTask.prototype.execute = function () {} +ArcGisQueryTask.prototype.queryByLayer = function (layerId, queryParams) { + queryParams.outFields = queryParams.outFields || "*"; + let url = this.url + "/" + layerId + "/query?f=json"; + let service = new ArcGisServiceBase(); + url = formatQuery(queryParams,url,["geometry"],null); + return service.getPromise(url); +} ArcGisQueryTask.prototype.executeAttachmentQuery = function () {} ArcGisQueryTask.prototype.executeForCount = function () {} ArcGisQueryTask.prototype.executeForExtent = function () {} diff --git a/src/service/ArcGis/index.js b/src/service/ArcGis/index.js index d7a633335..36f060686 100644 --- a/src/service/ArcGis/index.js +++ b/src/service/ArcGis/index.js @@ -16,6 +16,7 @@ import { ArcGisMultipoint } from './Multipoint'; import { ArcGisPolyline } from './Polyline'; import { ArcGisGraphic } from './Graphic'; import { ArcGisExtent } from './Extent'; +import {ArcGisCircle} from "./Circle"; export { ArcGisFeatureLayer, @@ -30,6 +31,7 @@ export { ArcGisMultipoint, ArcGisPolyline, ArcGisPolygon, + ArcGisCircle, ArcGisGraphic, ArcGisExtent }; @@ -47,6 +49,7 @@ const ArcGis = { ArcGisMultipoint, ArcGisPolyline, ArcGisPolygon, + ArcGisCircle, ArcGisGraphic, ArcGisExtent }; diff --git a/src/service/Igserver/G3D/G3DMapDoc.js b/src/service/Igserver/G3D/G3DMapDoc.js index 3fd8c1416..d976c9cec 100644 --- a/src/service/Igserver/G3D/G3DMapDoc.js +++ b/src/service/Igserver/G3D/G3DMapDoc.js @@ -1,7 +1,7 @@ -import {Zondy} from "../../common/Base"; -import {newGuid} from "../../common/Util"; -import {G3DService} from "./G3DService"; -import {IgsServiceBase} from "../../baseserver/IServiceBase"; +import { Zondy } from '../../common/Base'; +import { newGuid } from '../../common/Util'; +import { G3DService } from './G3DService'; +import { IgsServiceBase } from '../../baseserver/IServiceBase'; /** * @author 基础平台/产品2部 龚跃健 @@ -29,6 +29,7 @@ import {IgsServiceBase} from "../../baseserver/IServiceBase"; * @param {String} [option.format=json] 回结果的格式,缺省xml(json / xml) * @param {String} [option.systemLib=null] 系统库名称或者guid * @param {String} [option.layerRenderIndex=0] 图层layerRenderIndex + * @param {String} [option.extendedPropKeys=null] 扩展属性的key列表,多个用","分隔,"*"为获取所有,缺省为null */ class G3DMapDoc extends G3DService { constructor(option) { @@ -218,6 +219,15 @@ class G3DMapDoc extends G3DService { * @default null */ this.layerRenderIndex = options.layerRenderIndex || 0; + + /** + * @private + * @member Zondy.Catalog.G3DMapDoc.prototype.extendedPropKeys + * @type {String} + * @description 扩展属性的key列表,多个用","分隔,"*"为获取所有,缺省为"" + * @default null + */ + this.extendedKeys = option.extendedPropKeys || null; } /** @@ -239,7 +249,7 @@ class G3DMapDoc extends G3DService { */ GetDocList(onSuccess, onError) { var me = this; - me.partUrl = "GetDocList"; + me.partUrl = 'GetDocList'; var url = me.getFullUrl(); var service = new IgsServiceBase(url, { eventListeners: { @@ -256,6 +266,7 @@ class G3DMapDoc extends G3DService { * @function Zondy.Catalog.G3DMapDoc.prototype.GetDocInfo * @param option - {Object} 属性键值对,地图属性字段。