{"_id":"hdgisapi","_rev":"124-02fb54b9dc0edf0c0001e376c339d941","name":"hdgisapi","dist-tags":{"latest":"3.0.4"},"versions":{"3.0.2":{"name":"hdgisapi","version":"3.0.2","author":{"name":"gis"},"license":"ISC","_id":"hdgisapi@3.0.2","maintainers":[{"name":"criska9527","email":"619729921@qq.com"}],"dist":{"shasum":"62d33f0b8f3acad10adb2f50133860c4d2fcd3d7","tarball":"https://registry.npmjs.org/hdgisapi/-/hdgisapi-3.0.2.tgz","fileCount":279,"integrity":"sha512-LqFWIr9oKwq0ypF2+K/JeKaWe81/HuscItOfu6RS0BVyQbSWtcABiSsHbPzApWCNQREf7E589Pu8QOC+wD5PvA==","signatures":[{"sig":"MEQCIFdiSpHT1AT5ewvzhn0hj7nYaTrgiOy4VTqa6stNmzXBAiA8bzfDijuNy1AqTLV7jFX29GOWsA4UvNrEl836jU0/Jg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101576019},"browser":{"fs":false,"os":false,"path":false},"gitHead":"f9d011332c2d3c2fec772138e7b6d77e39ede104","scripts":{"build":"webpack --config webpack.prod.js","serve":"webpack-dev-server --config webpack.dev.js"},"_npmUser":{"name":"criska9527","email":"619729921@qq.com"},"deprecated":false,"_npmVersion":"10.5.0","description":"mapgisapi","directories":{},"_nodeVersion":"18.20.2","dependencies":{"wkt":"^0.1.1","gsap":"^3.11.5","jsts":"2.7.1","uuid":"^9.0.0","x2js":"^3.4.4","axios":"^0.18.0","three":"0.132.2","projzh":"^1.0.0","dat.gui":"^0.7.9","deck.gl":"^8.9.7","echarts":"^5.4.1","mapbox-gl":"2.10.0","@turf/turf":"^6.5.0","@arcgis/core":"4.22.1","geotransform":"^1.0.17","@gis/hdmapgeo":"^1.0.0-alpha.22","geostyler-style":"^7.2.0","3d-tiles-renderer":"^0.3.17","@tweenjs/tween.js":"^21.0.0","@terraformer/arcgis":"^2.1.0","@supermap/iclient-ol":"^10.1.2","geostyler-sld-parser":"^5.0.1","mapbox-gl-draw-circle":"1.1.2","@mapbox/mapbox-gl-draw":"^1.4.0","mapbox-gl-draw-waypoint":"1.0.3","@mapbox/mapbox-gl-sync-move":"^0.3.1","mapbox-gl-draw-rectangle-mode":"1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.20.2","babel-core":"^6.26.3","css-loader":"^5.0.1","url-loader":"^4.1.1","file-loader":"^6.2.0","webpack-cli":"^3.3.12","babel-loader":"^7.1.5","style-loader":"^2.0.0","worker-loader":"^3.0.8","babel-polyfill":"^6.26.0","babel-preset-env":"^1.7.0","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.0","html-webpack-plugin":"^5.0.0","babel-preset-stage-2":"^6.24.1","clean-webpack-plugin":"^3.0.0","uglifyjs-webpack-plugin":"^2.2.0","babel-plugin-transform-runtime":"^6.23.0"},"bundleDependencies":[],"_npmOperationalInternal":{"tmp":"tmp/hdgisapi_3.0.2_1715826860304_0.0014484867774937626","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"hdgisapi","version":"3.0.3","author":{"name":"gis"},"license":"ISC","_id":"hdgisapi@3.0.3","dist":{"shasum":"183f6b507a815711462eefaec6d93f015b5bb997","tarball":"https://registry.npmjs.org/hdgisapi/-/hdgisapi-3.0.3.tgz","fileCount":279,"integrity":"sha512-rphFKvGG/ONS4u9rTpnP2bJJRz+DvK1EY3q25dZV9KwiYRE2eG7cqyyPXSU+F9WoDHoKe60PH24lO8wBmASZeA==","signatures":[{"sig":"MEYCIQCl19jCNRt5AlE6KUs6zIJqBQKuesmiDSK0oshD0QniygIhAKyUEYmwSFS+Ptfkab3caRtYbpVT/YP4GyrOEYhEa0RV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101632148},"browser":{"fs":false,"os":false,"path":false},"gitHead":"d214d73e21f4865acc232b51cb1fb34f991d10b3","scripts":{"build":"webpack --config webpack.prod.js","serve":"webpack-dev-server --config webpack.dev.js"},"_npmUser":{"name":"criska9527","email":"619729921@qq.com"},"deprecated":false,"_npmVersion":"10.5.0","description":"mapgisapi","directories":{},"_nodeVersion":"18.20.2","dependencies":{"wkt":"^0.1.1","gsap":"^3.11.5","jsts":"2.7.1","uuid":"^9.0.0","x2js":"^3.4.4","axios":"^0.18.0","three":"0.132.2","projzh":"^1.0.0","dat.gui":"^0.7.9","deck.gl":"^8.9.7","echarts":"^5.4.1","mapbox-gl":"2.10.0","@turf/turf":"^6.5.0","@arcgis/core":"4.22.1","geotransform":"^1.0.17","@gis/hdmapgeo":"^1.0.0-alpha.22","geostyler-style":"^7.2.0","3d-tiles-renderer":"^0.3.17","@tweenjs/tween.js":"^21.0.0","@terraformer/arcgis":"^2.1.0","@supermap/iclient-ol":"^10.1.2","geostyler-sld-parser":"^5.0.1","mapbox-gl-draw-circle":"1.1.2","@mapbox/mapbox-gl-draw":"^1.4.0","mapbox-gl-draw-waypoint":"1.0.3","@mapbox/mapbox-gl-sync-move":"^0.3.1","mapbox-gl-draw-rectangle-mode":"1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.20.2","babel-core":"^6.26.3","css-loader":"^5.0.1","url-loader":"^4.1.1","file-loader":"^6.2.0","webpack-cli":"^3.3.12","babel-loader":"^7.1.5","style-loader":"^2.0.0","worker-loader":"^3.0.8","babel-polyfill":"^6.26.0","babel-preset-env":"^1.7.0","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.0","html-webpack-plugin":"^5.0.0","babel-preset-stage-2":"^6.24.1","clean-webpack-plugin":"^3.0.0","uglifyjs-webpack-plugin":"^2.2.0","babel-plugin-transform-runtime":"^6.23.0"},"bundleDependencies":[],"_npmOperationalInternal":{"tmp":"tmp/hdgisapi_3.0.3_1719554633790_0.6464962399477578","host":"s3://npm-registry-packages"}},"3.0.4":{"name":"hdgisapi","version":"3.0.4","author":{"name":"gis"},"license":"ISC","_id":"hdgisapi@3.0.4","maintainers":[{"name":"criska9527","email":"619729921@qq.com"}],"dist":{"shasum":"43ecdf8703b45753b8e3569388dddbcc3c6bba9b","tarball":"https://registry.npmjs.org/hdgisapi/-/hdgisapi-3.0.4.tgz","fileCount":279,"integrity":"sha512-kLffpYrD4a6+QVeRdXI2okqx7P12uICwW3yGnZvTTC63Su6yHh5eKDxmWvCHyhEHBCtK2QpAgY3f+us1tZ6TUg==","signatures":[{"sig":"MEUCIDDRWBFz1ci3zR97XU4nEcN+4GNXV6Yza3GLew5g48R5AiEAwc9n/4ZwzDY8dAaUP/nwabfS2sOQ0am6g57LIiQGIus=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101635809},"browser":{"fs":false,"os":false,"path":false},"gitHead":"917a0bebb5d2a4fa42d12e5fcad94a45414de68a","scripts":{"build":"webpack --config webpack.prod.js","serve":"webpack-dev-server --config webpack.dev.js"},"_npmUser":{"name":"criska9527","email":"619729921@qq.com"},"deprecated":false,"_npmVersion":"10.5.0","description":"mapgisapi","directories":{},"_nodeVersion":"18.20.2","dependencies":{"wkt":"^0.1.1","gsap":"^3.11.5","jsts":"2.7.1","uuid":"^9.0.0","x2js":"^3.4.4","axios":"^0.18.0","three":"0.132.2","projzh":"^1.0.0","dat.gui":"^0.7.9","deck.gl":"^8.9.7","echarts":"^5.4.1","mapbox-gl":"2.10.0","@turf/turf":"^6.5.0","@arcgis/core":"4.22.1","geotransform":"^1.0.17","@gis/hdmapgeo":"^1.0.0-alpha.22","geostyler-style":"^7.2.0","3d-tiles-renderer":"^0.3.17","@tweenjs/tween.js":"^21.0.0","@terraformer/arcgis":"^2.1.0","@supermap/iclient-ol":"^10.1.2","geostyler-sld-parser":"^5.0.1","mapbox-gl-draw-circle":"1.1.2","@mapbox/mapbox-gl-draw":"^1.4.0","mapbox-gl-draw-waypoint":"1.0.3","@mapbox/mapbox-gl-sync-move":"^0.3.1","mapbox-gl-draw-rectangle-mode":"1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.20.2","babel-core":"^6.26.3","css-loader":"^5.0.1","url-loader":"^4.1.1","file-loader":"^6.2.0","webpack-cli":"^3.3.12","babel-loader":"^7.1.5","style-loader":"^2.0.0","worker-loader":"^3.0.8","babel-polyfill":"^6.26.0","babel-preset-env":"^1.7.0","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.0","html-webpack-plugin":"^5.0.0","babel-preset-stage-2":"^6.24.1","clean-webpack-plugin":"^3.0.0","uglifyjs-webpack-plugin":"^2.2.0","babel-plugin-transform-runtime":"^6.23.0"},"bundleDependencies":[],"_npmOperationalInternal":{"tmp":"tmp/hdgisapi_3.0.4_1720746567339_0.45185075060345437","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-05-16T02:34:20.303Z","modified":"2025-07-24T09:52:19.952Z","1.0.0":"2021-05-31T05:47:16.449Z","1.0.1":"2021-06-22T03:06:22.686Z","1.0.2":"2021-06-22T05:30:45.789Z","1.0.3":"2021-06-22T06:38:31.829Z","1.0.4":"2021-06-22T06:58:41.015Z","1.0.5":"2021-06-22T07:08:14.009Z","1.0.6":"2021-06-22T07:21:54.660Z","1.0.7":"2021-06-22T07:29:16.439Z","1.0.8":"2021-06-22T07:50:52.651Z","1.0.9":"2021-06-22T08:21:47.654Z","1.0.10":"2021-06-22T14:54:52.187Z","1.0.11":"2021-06-23T04:35:45.918Z","1.0.12":"2021-06-23T04:42:50.918Z","1.1.0":"2021-06-23T06:20:33.264Z","1.1.1":"2021-06-28T09:34:51.682Z","1.1.2":"2021-07-02T03:09:13.086Z","1.1.3":"2021-07-08T07:16:57.021Z","1.1.4":"2021-07-14T03:37:01.486Z","1.1.5":"2021-07-15T00:55:11.280Z","1.1.6":"2021-07-17T00:49:00.961Z","1.1.7":"2021-07-17T02:18:06.533Z","1.1.8":"2021-07-17T06:08:34.835Z","1.1.9":"2021-07-26T07:54:49.507Z","1.1.10":"2021-07-26T07:56:40.291Z","1.1.11":"2021-07-27T06:38:42.111Z","1.1.12":"2021-07-29T07:42:38.357Z","1.1.13":"2021-08-02T11:10:28.648Z","1.1.14":"2021-08-09T07:50:57.133Z","1.1.15":"2021-08-11T07:20:22.970Z","1.1.16":"2021-08-12T06:43:33.136Z","1.1.17":"2021-08-12T09:40:42.835Z","1.1.18":"2021-08-13T08:06:12.612Z","1.1.19":"2021-08-13T08:16:41.761Z","1.1.20":"2021-08-14T04:17:13.180Z","1.1.21":"2021-08-17T11:25:38.980Z","1.1.22":"2021-08-18T09:02:58.461Z","1.1.23":"2021-08-26T06:22:03.583Z","1.1.24":"2021-08-26T10:07:36.358Z","1.1.25":"2021-09-08T09:17:51.752Z","1.1.26":"2021-09-08T09:30:30.130Z","1.1.27":"2021-09-17T07:14:58.013Z","1.1.28":"2021-09-30T03:32:39.248Z","1.1.29":"2021-10-08T02:01:48.313Z","1.1.30":"2021-10-08T06:26:25.236Z","1.1.31":"2021-10-11T07:30:20.262Z","1.1.32":"2021-10-14T08:40:51.429Z","1.1.33":"2021-11-01T06:19:05.596Z","1.1.34":"2021-11-12T02:27:49.086Z","1.1.35":"2021-11-18T05:59:22.962Z","1.1.36":"2021-11-22T01:53:34.823Z","1.1.37":"2021-11-22T03:32:15.758Z","1.1.38":"2021-12-01T06:31:42.122Z","1.1.39":"2021-12-04T07:28:31.982Z","1.1.40":"2021-12-11T06:23:16.268Z","1.1.41":"2021-12-15T01:32:05.434Z","1.1.42":"2021-12-16T07:56:12.355Z","1.1.43":"2021-12-17T07:07:01.372Z","1.1.44":"2021-12-29T07:57:52.037Z","1.1.45":"2021-12-30T10:05:10.248Z","1.1.46":"2021-12-31T03:53:14.033Z","1.1.47":"2022-01-06T08:46:45.189Z","1.1.48":"2022-01-06T09:07:57.925Z","1.1.49":"2022-01-07T08:10:12.093Z","1.1.50":"2022-01-08T06:09:32.219Z","1.1.51":"2022-01-11T10:10:08.190Z","1.1.52":"2022-01-26T06:07:22.716Z","1.1.53":"2022-02-15T06:57:07.590Z","1.1.54":"2022-02-15T09:44:35.398Z","1.1.55":"2022-02-16T01:00:55.588Z","1.1.56":"2022-02-24T02:26:29.634Z","1.1.57":"2022-02-28T02:45:32.155Z","1.1.58":"2022-03-01T03:18:35.307Z","1.1.59":"2022-03-02T06:02:42.406Z","1.1.60":"2022-03-03T07:29:15.261Z","1.1.61":"2022-03-04T09:36:22.013Z","1.1.62":"2022-03-08T06:48:54.613Z","1.1.63":"2022-03-15T01:56:36.657Z","1.1.64":"2022-03-29T01:48:16.074Z","1.1.65":"2022-03-29T05:44:25.018Z","1.1.66":"2022-04-12T10:16:47.273Z","1.1.67":"2022-04-20T07:53:19.342Z","1.1.68":"2022-04-20T07:59:47.515Z","1.1.69":"2022-04-20T08:02:51.295Z","1.1.70":"2022-04-20T09:06:01.605Z","1.1.71":"2022-04-22T01:24:34.170Z","1.1.72":"2022-04-22T07:56:28.715Z","1.1.73":"2022-04-28T01:09:18.763Z","1.1.74":"2022-04-28T01:44:16.492Z","1.1.75":"2022-04-28T10:13:08.114Z","1.1.76":"2022-05-26T06:09:07.656Z","1.1.77":"2022-05-30T07:07:54.530Z","1.1.78":"2022-05-30T07:35:18.876Z","1.1.79":"2022-06-01T08:06:11.516Z","1.1.80":"2022-06-01T08:14:51.505Z","1.1.81":"2022-06-15T07:31:03.739Z","1.1.82":"2022-06-28T05:58:25.960Z","1.1.83":"2022-07-28T01:39:24.172Z","1.1.84":"2022-08-01T01:45:09.225Z","1.1.85":"2022-08-08T03:38:19.624Z","1.1.87":"2022-08-30T01:18:06.676Z","1.1.88":"2022-08-31T02:41:23.122Z","3.0.2":"2024-05-16T02:34:21.286Z","3.0.3":"2024-06-28T06:03:54.549Z","3.0.4":"2024-07-12T01:09:28.175Z"},"author":{"name":"gis"},"license":"ISC","description":"mapgisapi","maintainers":[{"email":"619729921@qq.com","name":"criska"}],"readme":"```\nclass MapClass {\n  constructor(options) {\n    this.options = options;\n    this.ClassType = MapClass.ClassType;\n    this.mapInstance = new MapClass.Class(options);// 创建地图 Class在index文件赋值\n  }\n  /**\n   * 地图加载完成\n   * @returns Promise\n   */\n  mapLoaded() {\n    return this.mapInstance.mapLoaded();\n  }\n  /**\n   * 添加图层\n   * @param {*} item 图层信息\n   * {\n   *  id: \"pipeLayer\",\n   *  url: BASE_SERVER_URL + \"/map-GSPIPE/rest/maps/GSPIPE@ORCL_SM003\"\n   *  layerType: \"MapImageLayer\",\n   *  visible: true\n   * }\n   */\n  addMapLayer(item) {\n    return this.mapInstance.addMapLayer(item)\n  }\n  /**\n   * 刷新图层数据\n   * @param {*} layer 图层id或图层对象\n   */\n  refreshMapLayer(layer) {\n    this.mapInstance.refreshMapLayer(layer);\n  }\n  /**\n   * 设置图层显示隐藏\n   * @param {String|Array} layerId 图层id\n   * @param {Boolean} visible 是否显示\n   */\n  setLayerVisible(layerId, visible) {\n    this.mapInstance.setLayerVisible(layerId, visible);\n  }\n  /**\n   * 设置图层透明度\n   * @param {String|Object} layerId 图层id或图层对象\n   * @param {Boolean} opacity 透明度0-1\n   */\n  setLayerOpacity(layerId, opacity) {\n    this.mapInstance.setLayerOpacity(layerId, opacity);\n  }\n  /**\n   * 设置图层状态(用于超图图控)\n   * @param {*} layerStatus 图层状态\n   */\n  setLayerStatus(layerStatus) {\n    if(MapClass.ClassType === \"Arcgis\") {\n      return;\n    }\n    this.mapInstance.setLayerStatus(layerStatus);\n  }\n  /**\n   * 设置子图层显示隐藏(arcgis动态图层控制)\n   * @param {Object} layer 父级图层\n   * @param {String|Array} sublayerId 子图层id\n   * @param {Boolean} visible 是否显示\n   */\n  setSublayerVisible(layer, sublayerId, visible) {\n    if(MapClass.ClassType === \"Supermap\") {\n      return;\n    }\n    this.mapInstance.setSublayerVisible(layer, sublayerId, visible);\n  }\n  /**\n   * 开启卷帘功能\n   * @param {HTMLElement} dom 超图卷帘需提供拖动卷帘的DOM元素\n   */\n  startSwipe(dom) {\n    this.mapInstance.startSwipe(dom);\n  }\n  /**\n   * 关闭卷帘功能\n   */\n  closeSwipe() {\n    this.mapInstance.closeSwipe();\n  }\n  /**\n   * 绘制图形\n   * @param {String} type 绘制类型 [\"point\",\"polyline\",\"polygon\",\"circle\",\"rectangle\"]\n   * @param {Function} callback 返回绘制geometry,graphic\n   * @param {Boolean} isAgain 是否连续绘制\n   */\n  startDraw(type, callback, isAgain = false) {\n    let drawType = {\n      Arcgis: {point: \"point\", polyline: \"polyline\", polygon: \"polygon\", circle: \"circle\", rectangle: \"rectangle\"},\n      Supermap: {point: \"Point\", polyline: \"LineString\", polygon: \"Polygon\", circle: \"Circle\", rectangle: \"rectangle\"}\n    };\n    this.mapInstance.startDraw(drawType[MapClass.ClassType][type], callback, isAgain);\n  }\n  /**\n   * 开启编辑图形\n   * @param {Object|String} layer|layerId 图形图层对象或id 注：arcgis需要依赖图层编辑\n   * @param {Object<Feature>} feature 要素数据\n   * @param {Function} callback 返回编辑后的geometry,graphic\n   */\n  startEdit(layer, feature, callback) {\n    this.mapInstance.startEdit(layer, feature, callback);\n  }\n  /**\n   * 关闭编辑图形\n   */\n  closeEdit() {\n    this.mapInstance.closeEdit();\n  }\n  /**\n   * 测量长度\n   * @param {Boolean} isAgain 是否连续测量\n   */\n  measureLegth(isAgain = false) {\n    this.mapInstance.measureLegth(isAgain);\n  }\n  /**\n   * 测量面积\n   * @param {Boolean} isAgain 是否连续测量\n   */\n  measureArea(isAgain = false) {\n    this.mapInstance.measureArea(isAgain);\n  }\n  // 关闭绘制工具\n  closeDraw() {\n    this.mapInstance.closeDraw();\n  }\n  // 清除绘制数据\n  clearDraw() {\n    this.mapInstance.clearDraw();\n  }\n  // 开启地图截屏功能\n  mapScreenShot(options) {\n    if(MapClass.ClassType === \"Supermap\") {\n      throw new Error(\"Supermap not support screen shot!\");\n    }\n    return this.mapInstance.mapScreenShot(options);\n  }\n  // 地图放大\n  zoomIn() {\n    this.mapInstance.zoomIn();\n  }\n  // 地图缩小\n  zoomOut() {\n    this.mapInstance.zoomOut();\n  }\n  // 获取地图比例尺\n  getViewScale() {\n    return this.mapInstance.getViewScale();\n  }\n  // 设置地图比例尺\n  setViewScale(scale) {\n    this.mapInstance.setViewScale(scale);\n  }\n  // 获取当前地图的lods\n  getViewLods() {\n    return this.mapInstance.getViewLods();\n  }\n  /**\n   * 获取当前缩放级别\n   * @returns Number\n   */\n  getCurZoom() {\n    return this.mapInstance.getCurZoom();\n  }\n  /**\n   * 获取当前视图范围\n   * @returns Object<Extent> 范围图形数据\n   */\n  getCurViewExtent() {\n    return this.mapInstance.getCurViewExtent();\n  }\n  /**\n   * 获取点的坐标值\n   * @param {Object<Point>} point \n   * @returns Object {x,y}\n   */\n  getPointCoords(point) {\n    return this.mapInstance.getPointCoords(point);\n  }\n  /**\n   * 获取线的坐标值\n   * @param {Object<Polyline>} polyline \n   * @returns Array [[x, y],[x, y]]\n   */\n  getPolylineCoords(polyline) {\n    return this.mapInstance.getPolylineCoords(polyline);\n  }\n  /**\n   * 获取线的坐标值\n   * @param {Object<Polygon>} polygon \n   * @returns Array [[[x, y],[x, y]], [[x, y],[x, y]]]\n   */\n  getPolygonCoords(polygon) {\n    return this.mapInstance.getPolygonCoords(polygon);\n  }\n  /**\n   * 获取图形的中心点\n   * @param {Object<geometry>} geometry \n   */\n  getGeometryCenter(geometry) {\n    return this.mapInstance.getGeometryCenter(geometry);\n  }\n  /**\n   * 获取图形的类型\n   * @param {Object<geometry>} geometry \n   */\n  getGeometryType(geometry) {\n    if(MapClass.ClassType === \"Supermap\") {\n      let typeMap = {\n        \"Point\": \"point\",\n        \"LineString\": \"polyline\",\n        \"MultiLineString\": \"polyline\",\n        \"Polygon\": \"polygon\",\n        \"MultiPolygon\": \"polygon\",\n      }\n      let type = this.mapInstance.getGeometryType(geometry);\n      return typeMap[type];\n    }\n    return this.mapInstance.getGeometryType(geometry);\n  }\n  /**\n   * 坐标缩放定位\n   * @param {Number} x x坐标值\n   * @param {Number} y y坐标值\n   * @param {Number} zoom 缩放级别（可选）\n   */\n  setCenterZoom(x, y, zoom) {\n    this.mapInstance.setCenterZoom(x, y, zoom);\n  }\n  /**\n   * 要素定位\n   * @param {Object<Geometry>||Array<Geometry>} geometry 单个或多个图形要素\n   * @param {Function} callback 定位结束回调 （可选）\n   * @param {Number} zoom 定位级别 （可选）\n   */\n  zoomToGeometry(geometry, callback, zoom) {\n    this.mapInstance.zoomToGeometry(geometry, callback, zoom);\n  }\n  /**\n   * 点坐标转屏幕坐标\n   * @param {Object<Geometry>} point 点要素\n   * @returns {Object} {x: 123, y: 456}\n   */\n  pointToScreen(point) {\n    let screenCoord = this.mapInstance.pointToScreen(point);\n    if(MapClass.ClassType === \"Supermap\") {\n      return {\n        x: screenCoord[0],\n        y: screenCoord[1],\n      } \n    }\n    if(MapClass.ClassType === \"Arcgis\") {\n      return screenCoord;\n    }\n  }\n  /**\n   * 要素数据转geojson\n   * @param {Object<Geometry>} geometry 要素数据\n   */\n  geometryToGeojson(geometry) {\n    return this.mapInstance.geometryToGeojson(geometry);\n  }\n  /**\n   * geojson转要素数据\n   * @param {String} geojson geojson格式字符串\n   */\n  geojsonToGeometry(geojson) {\n    return this.mapInstance.geojsonToGeometry(geojson);\n  }\n  /**\n   * 要素数据转wkt\n   * @param {Object<Geometry>} geometry 要素数据\n   */\n  geometryToWkt(geometry) {\n    return this.mapInstance.geometryToWkt(geometry);\n  }\n  /**\n   * wkt转要素数据\n   * @param {String} wkt wkt格式字符串\n   */\n  wktToGeometry(wkt) {\n    return this.mapInstance.wktToGeometry(wkt);\n  }\n  /**\n   * 图形要素转json\n   * @param {Object<Feature>} Feature 要素数据\n   */\n  featureToJson(Feature) {\n    return this.mapInstance.featureToJson(Feature);\n  }\n  /**\n   * json转要素数据\n   * @param {String} json json格式字符串\n   */\n  jsonToFeature(json) {\n    return this.mapInstance.jsonToFeature(json);\n  }\n  /**\n   * 创建点图形\n   * @param {Number} x x坐标值\n   * @param {Number} y y坐标值\n   * @returns Object<Point> 点图形数据\n   */\n  createPoint(x, y) {\n    return this.mapInstance.createPoint(x, y);\n  }\n  /**\n   * 创建线图形\n   * @param {Number} coordinates 坐标值[[x, y], [x, y]]\n   * @returns Object<Polyline> 线图形数据\n   */\n  createPolyline(coordinates) {\n    return this.mapInstance.createPolyline(coordinates);\n  }\n  /**\n   * 创建面图形\n   * @param {Number} coordinates 坐标值[[[x, y], [x, y]]]\n   * @returns Object<Polygon> 面图形数据\n   */\n  createPolygon(coordinates) {\n    return this.mapInstance.createPolygon(coordinates);\n  }\n  /**\n   * 构建缓冲区\n   * @param {Object} geometry 空间数据\n   * @param {Number} radius 缓冲半径\n   * @param {String} units 单位 meters | kilometers\n   * @returns Object<Geometry> 缓冲区图形 \n   */\n  createBuffer(geometry, radius, units = \"meters\") {\n    return this.mapInstance.createBuffer(geometry, radius, units);\n  }\n  /**\n   * 获取圆点样式\n   * @param {Object} options 自定义参数\n   * options: {\n      color: \"#ff0000\",\n      size: 20,\n      outLineColor: \"#ffff00\",\n      outLineWidth: 5,\n    }\n   * \n   * @param {String|Array} color 填充颜色#ff0000 | [r, g, b, a]\n   * @param {Number} size 圆点大小，像素数值值大小\n   * @returns Object 样式对象\n   */\n  getPointStyle(color, size) {\n    if(arguments.length === 1 && Object.prototype.toString.call(arguments[0]) === '[object Object]') {\n      return this.mapInstance.getPointStyleOpt(arguments[0]);\n    }\n    return this.mapInstance.getPointStyle(color, size);\n  }\n  /**\n   * 获取点图标样式\n   * @param {Object} options 自定义参数\n   * options: {\n      url: require('./assets/mapIcon/marker_blue.png'), \n      imageWidth:\"53px\", \n      setWidth: \"32px\", \n      setHeight: \"40px\", \n      xoffset: \"0px\", \n      yoffset: \"16px\"\n    }\n   * \n   * @param {String} url 图标地址\n   * @param {String} imageWidth 原图标宽度 如：\"1px\"\n   * @param {String} setWidth 图标宽度\n   * @param {String} setHeight 图标高度\n   * @param {String} xoffset x偏移 （可选）\n   * @param {String} yoffset y偏移 （可选）\n   * @returns Object 样式对象\n   */ \n  getMarkerStyle(url, imageWidth, setWidth, setHeight, xoffset, yoffset) {\n    if(arguments.length === 1 && Object.prototype.toString.call(arguments[0]) === '[object Object]') {\n      let options = arguments[0];\n      if(MapClass.ClassType === \"Supermap\") {\n        options.scale = parseInt(options.setWidth) / parseInt(options.imageWidth);\n        if(parseInt(options.xoffset) >= 0) {\n          options.xoffset = parseInt(options.xoffset)* 2 / parseInt(options.setWidth);\n        }else {\n          options.xoffset = -(parseInt(options.xoffset) / parseInt(options.setWidth)) + 0.5001;\n        }\n        if(parseInt(options.yoffset) >= 0) {\n          options.yoffset = parseInt(options.yoffset)* 2 / parseInt(options.setHeight);\n        }else {\n          options.yoffset = (parseInt(options.yoffset) / parseInt(options.setHeight)) + 0.5001;\n        }\n        return this.mapInstance.getMarkerStyleOpt(options);\n      }\n      if(MapClass.ClassType === \"Arcgis\") {\n        return this.mapInstance.getMarkerStyleOpt(options);\n      }\n    }else {\n      if(MapClass.ClassType === \"Supermap\") {\n        let scale = parseInt(setWidth) / parseInt(imageWidth);\n        if(parseInt(xoffset) >= 0) {\n          xoffset = parseInt(xoffset)* 2 / parseInt(setWidth);\n        }else {\n          xoffset = -(parseInt(xoffset) / parseInt(setWidth)) + 0.5001;\n        }\n        if(parseInt(yoffset) >= 0) {\n          yoffset = parseInt(yoffset)* 2 / parseInt(setHeight);\n        }else {\n          yoffset = (parseInt(yoffset) / parseInt(setHeight)) + 0.5001;\n        }\n        return this.mapInstance.getMarkerStyle(url, scale, xoffset, yoffset);\n      }\n      if(MapClass.ClassType === \"Arcgis\") {\n        return this.mapInstance.getMarkerStyle(url, setWidth, setHeight, xoffset, yoffset);\n      }\n    }\n  }\n  /**\n   * 获取标注样式\n   * @param {Object} options 自定义参数\n   * options: {\n      text: \"测试字体1\", \n      color: \"#ff0000\", \n      fontSize: 24, \n      outLineColor: \"#ffff00\",\n      outLineWidth: 5,\n      backgroundColor: \"#00ff00\",\n      borderLineColor: \"#0000ff\",\n      borderLineSize: 5,\n      xoffset: \"0px\", \n      yoffset: \"24px\"\n    }\n   * \n   * @param {String} text 文本内容\n   * @param {String|Array} color 填充颜色#ff0000 | [r, g, b, a]\n   * @param {Number} fontSize 字体大小\n   * @param {String} xoffset x偏移 （可选）\n   * @param {String} yoffset y偏移 （可选）\n   * @returns Object 样式对象\n   */\n  getTextStyle(text, color, fontSize, xoffset, yoffset) {\n    if(arguments.length === 1 && Object.prototype.toString.call(arguments[0]) === '[object Object]') {\n      let options = arguments[0];\n      if(MapClass.ClassType === \"Supermap\") {\n        options.xoffset = - parseInt(options.xoffset);\n        options.yoffset = - parseInt(options.yoffset);\n      }\n      return this.mapInstance.getTextStyleOpt(options);\n    }\n    if(MapClass.ClassType === \"Supermap\") {\n      xoffset = - parseInt(xoffset);\n      yoffset = - parseInt(yoffset);\n    }\n    return this.mapInstance.getTextStyle(text, color, fontSize, xoffset, yoffset);\n  }\n  /**\n   * 获取线样式\n   * @param {Object} options 自定义参数\n   * options: {\n      color: \"#ff0000\",\n      width: 10,\n      style: \"dash\"\n    }\n   * \n   * @param {String|Array} color 填充颜色#ff0000 | [r, g, b, a]\n   * @param {Number} width 线宽度 1\n   * @param {String} style 线样式 solid-实线 dash-虚线 （可选）\n   * @returns Object 样式对象\n   */\n  getLineStyle(color, width, style) {\n    if(arguments.length === 1 && Object.prototype.toString.call(arguments[0]) === '[object Object]') {\n      return this.mapInstance.getLineStyleOpt(arguments[0]);\n    }\n    return this.mapInstance.getLineStyle(color, width, style);\n  }\n  /**\n   * 获取面样式\n   * @param {Object} options 自定义参数\n   * options: {\n      color: [255, 0, 0, 0.3], \n      outLineColor: \"#ffff00\", \n      outLineWidth: 2,\n      outlineStyle: \"dash\"\n    }\n   * \n   * @param {String|Array} color 填充颜色#ff0000 | [r, g, b, a]\n   * @param {String|Array} outLineColor 边线颜色#ff0000 | [r, g, b, a]\n   * @param {Number} outLineWidth 边线宽度 1\n   * @param {String} outLineStyle 边线样式 solid-实线 dash-虚线 （可选）\n   * @returns Object 样式对象\n   */\n  getPolygonStyle(color, outLineColor, outLineWidth, outLineStyle) {\n    if(arguments.length === 1 && Object.prototype.toString.call(arguments[0]) === '[object Object]') {\n      return this.mapInstance.getPolygonStyleOpt(arguments[0]);\n    }\n    return this.mapInstance.getPolygonStyle(color, outLineColor, outLineWidth, outLineStyle);\n  }\n  /**\n   * 获取默认样式\n   * @param {String} type 样式类型'point','marker','line','polygon'\n   * @returns Object 样式对象\n   */\n  getDefaultStyle(type) {\n    return this.mapInstance.getDefaultStyle(type);\n  }\n  /**\n   * 设置要素样式\n   * @param {Object} feature 图形要素\n   * @param {Object} style 样式\n   */\n  setFeatureStyle(feature, style) {\n    this.mapInstance.setFeatureStyle(feature, style);\n  }\n  /**\n   * 设置要素图形信息\n   * @param {Object} feature 图形要素\n   * @param {Object} geometry 图形信息\n   */\n  setFeatureGeometry(feature, geometry) {\n    this.mapInstance.setFeatureGeometry(feature, geometry);\n  }\n  /**\n   * 设置要素属性信息\n   * @param {Object} feature 图形要素\n   * @param {Object} attributes 属性信息\n   */\n  setFeatureAttributes(feature, attributes) {\n    this.mapInstance.setFeatureAttributes(feature, attributes);\n  }\n  /**\n   * 创建要素数据\n   * @param {Object} geometry 图形对象\n   * @param {Object} style 样式\n   * @param {Object} attributes 属性（可选）\n   * @returns Object<Feature> 要素数据\n   */\n  createFeature(geometry, style, attributes) {\n    return this.mapInstance.createFeature(geometry, style, attributes);\n  }\n  /**\n   * 获取要素的图形对象\n   * @param {Object|Array<Feature>} feature 单个/多个要素数据\n   * @returns 图形对象数据\n   */\n  getGeometryByFeature(feature) {\n    return this.mapInstance.getGeometryByFeature(feature);\n  }\n  /**\n   * 获取要素的属性对象\n   * @param {Object|Array<Feature>} feature 单个/多个要素数据\n   * @returns 属性数据\n   */\n  getAttributeByFeature(feature) {\n    return this.mapInstance.getAttributeByFeature(feature);\n  }\n  /**\n   * 添加高亮要素数据\n   * @param {Object|Array<Feature>} feature 单个/多个要素数据\n   */\n  addHighLightFeature(feature) {\n    this.mapInstance.addHighLightFeature(feature);\n  }\n  // 清除高亮图层\n  clearHighLightLayer() {\n    this.mapInstance.clearHighLightLayer();\n  }\n  /**\n   * 创建图形图层\n   * @param {String} id 图层id \n   * @returns 图层对象\n   */\n  createGraphicsLayer(id) {\n    return this.mapInstance.createGraphicsLayer(id);\n  }\n  /**\n   * 删除图层\n   * @param {Object|String} layer|layerId 图形图层对象或id\n   */\n  removeLayer(layer) {\n    return this.mapInstance.removeLayer(layer);\n  }\n  /**\n   * 获取图层\n   * @param {String} id 图层id \n   * @returns Object 图层对象\n   */\n  getLayerById(id) {\n    return this.mapInstance.getLayerById(id);\n  }\n  /**\n   * 添加要素到图层\n   * @param {Object|String} layer|layerId 图形图层对象或id\n   * @param {Object|Array<Feature>} feature 单个/多个要素数据\n   */\n  addFeatureToLayer(layer, feature) {\n    this.mapInstance.addFeatureToLayer(layer, feature);\n  }\n  /**\n   * 删除图层某个要素\n   * @param {Object|String} layer|layerId 图形图层对象或id\n   * @param {Object<Feature>} feature 单个要素数据\n   */\n  removeFeature(layer, feature) {\n    this.mapInstance.removeFeature(layer, feature);\n  }\n  /**\n   * 根据属性删除图层某个要素\n   * @param {Object|String} layer|layerId 图形图层对象或id\n   * @param {String} field 根据 field字段 删除 \n   * @param {String} fieldValue 字段值\n   */\n  removeFeatureFromLayer(layer, field, fieldValue) {\n    this.mapInstance.removeFeatureFromLayer(layer, field, fieldValue);\n  }\n  /**\n   * 清除图形图层\n   * @param {Object|String} layer|layerId 图形图层对象或id\n   */\n  clearGraphicsLayer(layer) {\n    this.mapInstance.clearGraphicsLayer(layer);\n  }\n  /**\n   * 创建要素图层\n   * @param {Object} item 图层信息\n   * {\n   *  id: \"pipeLayer\",\n   *  url: BASE_SERVER_URL + \"/PRODUCT/GS_pipe_BS/MapServer/0\"\n   *  visible: true\n   * }\n   */\n  createFeatureLayer(item) {\n    if(MapClass.ClassType === \"Supermap\") {\n      throw new Error(\"Supermap not support FeatureLayer!\");\n    }\n    return this.mapInstance.createFeatureLayer(item);\n  }\n  // 创建echarts图层\n  createEchartsLayer(option) {\n    return this.mapInstance.createEchartsLayer(option);\n  }\n  /**\n   * 设置聚合效果\n   * @param {Object} layer 需要聚合显示的图层\n   * @param {Object} renderer 样式效果\n   * @param {Object} redution 聚合效果\n   */\n  setClusterReduction(layer, renderer, redution) {\n    if(MapClass.ClassType === \"Supermap\") {\n      throw new Error(\"Supermap not support Cluster!\");\n    }\n    this.mapInstance.setClusterReduction(layer, renderer, redution);\n  }\n  /**\n   * 监听地图拖拽事件\n   * @param {Function} callback 事件执行回调函数\n   * @returns Object 事件对象\n   */\n  viewDragListener(callback) {\n    if(MapClass.ClassType === \"Supermap\") {\n      throw new Error(\"Supermap not support drag listener!\");\n    }\n    return this.mapInstance.viewDragListener(callback);\n  }\n  /**\n   * 监听地图级别变化\n   * @param {Function} callback 事件执行回调函数\n   * @returns Object 事件对象\n   */\n  viewScaleListener(callback) {\n    return this.mapInstance.viewScaleListener(callback);\n  }\n  /**\n   * 监听地图范围变化\n   * @param {Function} callback 事件执行回调函数\n   * @returns Object 事件对象\n   */\n  viewExtentListener(callback) {\n    return this.mapInstance.viewExtentListener(callback);\n  }\n  /**\n   * 监听鼠标移动\n   * @param {Function} callback 事件执行回调函数\n   * @returns Object 事件对象\n   */\n  pointerMoveListener(callback) {\n    return this.mapInstance.pointerMoveListener(callback);\n  }\n  /**\n   * 地图点击事件\n   * @param {Function} callback 返回点击数据{ 坐标:coordinate, 像素坐标:pixel, 当前点位要素:mapPoint }\n   * @param {Boolean} isAgain 是否连续点击\n   * @returns Object 事件对象\n   */\n  mapOnClick(callback, isAgain = true) {\n    return this.mapInstance.mapOnClick(callback, isAgain);\n  }\n  /**\n   * 地图双击事件\n   * @param {Function} callback 返回点击数据{ 坐标:coordinate, 像素坐标:pixel, 当前点位要素:mapPoint }\n   * @param {Boolean} isAgain 是否连续点击\n   * @returns Object 事件对象\n   */\n  mapOnDobuleClick(callback, isAgain = true) {\n    return this.mapInstance.mapOnDobuleClick(callback, isAgain);\n  }\n  /**\n   * 选中要素数据\n   * @param {Function} callback 返回点击要素数据{ 要素数据:feature }\n   * @param {Boolean} isAgain 是否连续点击\n   * @param {Number} bufferDistance 仅超图支持\n   * @returns Object 事件对象\n   */\n  featureOnSelect(callback, isAgain = true, bufferDistance) {\n    return this.mapInstance.featureOnSelect(callback, isAgain, bufferDistance);\n  }\n  /**\n   * 选中所有要素数据\n   * @param {Function} callback 返回点击要素数据{ 要素数据:feature[] }\n   * @param {Boolean} isAgain 是否连续点击\n   * @param {Number} bufferDistance 仅超图支持\n   * @returns Object 事件对象\n   */\n  featureOnSelectAll(callback, isAgain = true, bufferDistance) {\n    return this.mapInstance.featureOnSelectAll(callback, isAgain, bufferDistance);\n  }\n  /**\n   * 移除地图事件\n   * @param {Object||Array<Object>} event 单个或多个事件对象\n   */\n  removeMapEvent(event) {\n    this.mapInstance.removeMapEvent(event);\n  }\n  /**\n   * 显示弹窗\n   * @param {String} title 弹窗标题\n   * @param {String|HTMLElement} content 弹窗内容\n   * @param {Object<Geometry>} location 弹窗显示位置\n   * @param {Function} callback 弹窗关闭后执行回调\n   */\n  showPopup(title, content, geometry, callback) {\n    this.mapInstance.showPopup(title, content, geometry, callback);\n  }\n  // 关闭弹窗\n  closePopup() {\n    this.mapInstance.closePopup();\n  }\n  /**\n   * 计算线的长度\n   * @param {Object<Geometry>} geometry 图形\n   * @returns {Number} 距离\n   */\n  calcLineLength(geometry) {\n    return this.mapInstance.calcLineLength(geometry);\n  }\n  /**\n   * 获取所有图形的凸包面\n   * @param {Array<Geometry>} geometries 图形\n   * @returns {Polygon} 图形\n   */\n  getConvexHull(geometries) {\n    return this.mapInstance.getConvexHull(geometries);\n  }\n  /**\n   * 获取图形之间的距离\n   * @param {Object<Geometry>} geometry1 图形\n   * @param {Object<Geometry>} geometry2 图形\n   * @returns {Number} 距离\n   */\n  getGeometryDistance(geometry1, geometry2) {\n    return this.mapInstance.getGeometryDistance(geometry1, geometry2);\n  }\n  /**\n   * 合并图形\n   * @param {Array<Geometry>} geometries 图形集合\n   * @returns {Object<Geometry>} 合并后的图形\n   */\n  getUnionGeometry(geometries) {\n    return this.mapInstance.getUnionGeometry(geometries);\n  }\n  /**\n   * 相交图形\n   * @param {Object<Geometry>} geometry1 图形\n   * @param {Object<Geometry>} geometry2 图形\n   * @returns {Object<Geometry>} 相交图形\n   */\n  getIntersectGeometry(geometry1, geometry2) {\n    return this.mapInstance.getIntersectGeometry(geometry1, geometry2);\n  }\n  /**\n   * 判断相交\n   * @param {Object<Geometry>} geometry1 图形\n   * @param {Object<Geometry>} geometry2 图形\n   * @returns {Boolean} 是否相交\n   */\n  isIntersect(geometry1, geometry2) {\n    return this.mapInstance.isIntersect(geometry1, geometry2);\n  }\n  /**\n   * 判断包含\n   * @param {Object<Geometry>} outGeometry 图形（外）\n   * @param {Object<Geometry>} inGeometry 图形（内）\n   * @returns {Boolean} 是否包含\n   */\n  isContains(outGeometry, inGeometry) {\n    return this.mapInstance.isContains(outGeometry, inGeometry);\n  }\n  /**\n   * 获取图例信息\n   * @param {String} url 查询服务url\n   * @param {Function} hookCallbak 回调钩子函数，获取每项数据，可给每项数据添加属性\n   * @returns Promise { [] }\n   */\n  getLayerLegend(url, hookCallbak) {\n    if(MapClass.ClassType === \"Arcgis\") {\n      return this.mapInstance.getLayerLegend(url, hookCallbak);\n    }\n    // 超图无法获取图例\n    if(MapClass.ClassType === \"Supermap\") {\n      return new Promise((resolve) => {\n        resolve({});\n      });\n    }\n  }\n  /**\n   * 获取图层信息\n   * @param {String} url 查询服务url\n   * @param {String} pipeType 管线类型，供水/排水\n   * @returns Promise { layers: 图层数据，treeLayers：图层树结构 }\n   */\n  getLayersInfo(url, pipeType) {\n    return this.mapInstance.getLayersInfo(url, pipeType);\n  }\n  /**\n   * \n   * @param {String} url 查询服务url\n   * @param {String} layerId 图层id \n   * @returns Promise { results: 结果集 }\n   */\n  getLayerFields(url, layerId) {\n    return this.mapInstance.getLayerFields(url, layerId);\n  }\n  /**\n   * 要素数据查询\n   * @param {Object}\n   * queryParams {\n   *    url 查询服务url\n   *    layerId 图层id \n   *    geometry 查询范围\n   *    outFields 输出字段\n   *    where 查询sql条件\n   *    returnGeometry 是否返回空间信息\n   *    pageNum 第几页\n   *    pageSize 每页数据\n   *    hookCallbak 回调钩子函数，获取每项数据，可给每项数据添加属性\n   * }\n   * @returns Promise { results: 结果集, total: 总数 }\n   */\n  queryFeatures(queryParams) {\n    queryParams.where || (queryParams.where = \"1=1\");\n    queryParams.outFields || (queryParams.outFields = [\"*\"]);\n    queryParams.returnGeometry === undefined && (queryParams.returnGeometry = true);\n    if(MapClass.ClassType === \"Supermap\") {\n      queryParams.outFields = (queryParams.outFields.length === 1 && queryParams.outFields[0] === \"*\") ? null : queryParams.outFields;\n      queryParams.queryOption = queryParams.returnGeometry ? \"ATTRIBUTEANDGEOMETRY\" : \"ATTRIBUTE\";\n      // queryParams.fromIndex = (queryParams.pageNum - 1) * queryParams.pageSize;\n      // queryParams.toIndex = queryParams.pageNum * queryParams.pageSize - 1;\n      if(!queryParams.cancelPage) {\n        queryParams.startRecord = queryParams.pageNum ? (queryParams.pageNum - 1) * queryParams.pageSize: 0;\n        queryParams.expectCount = queryParams.pageSize || 10000;\n      }\n    }else if(MapClass.ClassType === \"Arcgis\") {\n      if(!queryParams.cancelPage) {\n        queryParams.start = queryParams.pageNum ? (queryParams.pageNum - 1) * queryParams.pageSize : 0;\n        queryParams.num = queryParams.pageSize || 10000;\n      }\n    }\n    return this.mapInstance.queryFeatures(queryParams);\n  }\n  /**\n   * 空间数据查询\n   * @param {Object}\n   * queryParams {\n   *    url 查询服务url\n   *    layerIds 查询图层所有id\n   *    geometry 查询范围\n   *    returnGeometry 是否返回空间信息\n   *    layerOption 供arcgis使用 top：查最上层，visible：查可见图层\n   *    hookCallbak 回调钩子函数，获取每项数据，可给每项数据添加属性\n   * }\n   * @returns Promise { results: 结果集, total: 总数 }\n   */\n  identifyQuery(queryParams) {\n    queryParams.returnGeometry === undefined && (queryParams.returnGeometry = true);\n    if(MapClass.ClassType === \"Supermap\") {\n      queryParams.queryOption = queryParams.returnGeometry ? \"ATTRIBUTEANDGEOMETRY\" : \"ATTRIBUTE\";\n    }\n    return this.mapInstance.identifyQuery(queryParams);\n  }\n  /**\n   * 属性数据查询\n   * @param {Object}\n   * queryParams {\n   *    url 查询服务url\n   *    layerIds 查询图层所有id\n   *    searchFields 查询范围\n   *    searchText 搜索内容\n   *    returnGeometry 是否返回空间信息\n   *    hookCallbak 回调钩子函数，获取每项数据，可给每项数据添加属性\n   * }\n   * @returns Promise { results: 结果集, total: 总数 }\n   */\n  attributeQuery(queryParams) {\n    queryParams.returnGeometry === undefined && (queryParams.returnGeometry = true);\n    if(MapClass.ClassType === \"Supermap\") {\n      queryParams.queryOption = queryParams.returnGeometry ? \"ATTRIBUTEANDGEOMETRY\" : \"ATTRIBUTE\";\n    }\n    return this.mapInstance.attributeQuery(queryParams);\n  }\n  /**\n   * 获取图层字段的去重值（字段下拉数据）\n   * @param {String} url 查询服务url (注：超图为dataUrl)\n   * @param {String} layerId 查询图层id\n   * @param {String} field 字段（与服务字段大小写一致）\n   * @returns Promise { results: 结果集 }\n   */\n  getFieldDistinctValue(url, layerId, field) {\n    return this.mapInstance.getFieldDistinctValue(url, layerId, field);\n  }\n  // 地图销毁释放地图资源\n  destroyMap() {\n    this.mapInstance.destroyMap();\n  }\n  /**\n   * 坐标转换 https://www.npmjs.com/package/geotransform\n   * @param {String} fromSR 转换前坐标系 'EPSG:4326 || GCJ02'\n   * @param {String} toSR 转换后坐标系 'EPSG:3857'\n   * @param {Array} coords 坐标值 [X, Y]\n   * @returns {Array} 坐标值 [X, Y]\n   */\n  coordTransform(fromSR, toSR, coords) {\n    return transform.coordTransform(fromSR, toSR, coords);\n  }\n  /**\n   * 将epsg坐标转为地方四参坐标系\n   * @param {Array} coordinate \n   * @returns {Array} 坐标值 [X, Y]\n   */\n  epsgToFourArgs(coords) {\n    return transform.epsgToFourArgs(this.options.transformParam.fourArgsParams, coords);\n  }\n  /**\n   * 将地方四参坐标系转为epsg坐标\n   * @param {Array} coordinate \n   * @returns {Array} 坐标值 [X, Y]\n   */\n  fourArgsToEpsg(coords) {\n    return transform.fourArgsToEpsg(this.options.transformParam.fourArgsParams, coords);\n  }\n}\n```","readmeFilename":"README.md"}