@vtx/ol-map 1.0.109 → 1.0.111

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/lib/high-layer/HighLayer.js +1 -1
  2. package/lib/high-layer/HighLayer.js.map +1 -1
  3. package/lib/map/Popup.js +3 -3
  4. package/lib/map/Popup.js.map +1 -1
  5. package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js +1 -1
  6. package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -1
  7. package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js +1 -1
  8. package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -1
  9. package/lib/map/index.js +24 -12
  10. package/lib/map/index.js.map +1 -1
  11. package/lib/popup/index.js +1 -0
  12. package/lib/popup/index.js.map +1 -1
  13. package/lib/tools/Toolbox/SelectTools/index.css +53 -0
  14. package/lib/tools/Toolbox/SelectTools/index.js +417 -72
  15. package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
  16. package/lib/tools/Toolbox/SelectTools/index.less +42 -0
  17. package/lib/tools/Utils/HighLayer.js +24 -4
  18. package/lib/tools/Utils/HighLayer.js.map +1 -1
  19. package/lib/tools/components/Chart/index.css +9 -0
  20. package/lib/tools/components/Chart/index.js +830 -0
  21. package/lib/tools/components/Chart/index.js.map +1 -0
  22. package/lib/tools/components/Chart/index.less +13 -0
  23. package/lib/tools/components/Info/index.css +39 -0
  24. package/lib/tools/components/Info/index.js +35 -0
  25. package/lib/tools/components/Info/index.js.map +1 -0
  26. package/lib/tools/components/Info/index.less +26 -0
  27. package/lib/tools/index.js +18 -5
  28. package/lib/tools/index.js.map +1 -1
  29. package/lib/tools/style/css.js +3 -0
  30. package/lib/tools/style/css.js.map +1 -1
  31. package/lib/tools/style/index.js +3 -0
  32. package/lib/tools/style/index.js.map +1 -1
  33. package/package.json +4 -4
@@ -143,7 +143,7 @@ var HighLayer = /*#__PURE__*/function () {
143
143
  this.source = new _source.Vector();
144
144
  this.layer = new _layer.Vector(_objectSpread({
145
145
  source: this.source,
146
- zIndex: 99,
146
+ zIndex: 9999,
147
147
  style: this.highStyle
148
148
  }, options.parmas || options.params || {}));
149
149
  this.layer.key = _key || 'Highlight';
@@ -1 +1 @@
1
- {"version":3,"file":"HighLayer.js","names":["_antd","require","_source","_layer","_style","_ol","_createFeatureCollection","_format","_typeof","obj","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_createClass","protoProps","staticProps","value","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","HighLayer","options","_this","feature","fit","isFit","addHighlightFeature","addPointHighlight","clearSelectFeature","clearFeatures","Array","isArray","addFeatures","map","fitView","point_overlay","getOverlayById","removeOverlay","geometry","getGeometry","type","getType","ele","document","createElement","className","Overlay","id","element","positioning","stopEvent","addOverlay","setPosition","getFlatCoordinates","pointOverlay","field","fieldName","filterField","newFeature","features","getFeatures","find","v","get","selectFeature","setStyle","isHighLight","setSelectFeature","message","warning","data","geoJsonFormat","GeoJSON","createFeatureCollection","readFeatures","setHighlight","_options$isFit","_options$isHighLight","style","highStyle","Style","image","CircleStyle","radius","fill","Fill","color","stroke","Stroke","width","VectorSource","layer","VectorLayer","zIndex","parmas","params","addLayer","clear","destroy","removeLayer","exports"],"sources":["high-layer/HighLayer.js"],"sourcesContent":["/**\r\n * 图层高亮操作\r\n */\r\nimport { message } from 'antd';\r\nimport { Vector as VectorSource } from 'ol/source';\r\nimport { Vector as VectorLayer } from 'ol/layer';\r\nimport { Style, Stroke, Fill, Circle as CircleStyle } from 'ol/style';\r\nimport { Overlay } from 'ol';\r\nimport { createFeatureCollection } from '../feature-layer/createFeatureCollection';\r\nimport { GeoJSON } from 'ol/format';\r\nexport default class HighLayer {\r\n constructor(options) {\r\n const { isFit = true, isHighLight = true, style, key } = options;\r\n this.highStyle =\r\n style ||\r\n new Style({\r\n // 高亮样式\r\n image: new CircleStyle({\r\n radius: 7,\r\n fill: new Fill({\r\n color: '#ff4d4f',\r\n }),\r\n stroke: new Stroke({\r\n color: '#FFFFFF',\r\n width: 2,\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: '#ff4d4f',\r\n }),\r\n stroke: new Stroke({\r\n color: '#ff4d4f',\r\n width: 4,\r\n }),\r\n });\r\n this.isHighLight = isHighLight;\r\n this.map = options.map;\r\n this.feature = options.feature;\r\n this.selectFeature = null;\r\n this.pointOverlay = null;\r\n this.isFit = isFit;\r\n this.source = new VectorSource();\r\n this.layer = new VectorLayer({\r\n source: this.source,\r\n zIndex: 99,\r\n style: this.highStyle,\r\n ...(options.parmas || options.params || {}),\r\n });\r\n this.layer.key = key || 'Highlight';\r\n this.map.addLayer(this.layer);\r\n }\r\n // 图层放大\r\n setHighlight = (feature, fit = true) => {\r\n this.isFit = fit;\r\n this.feature = feature;\r\n this.addHighlightFeature(feature);\r\n };\r\n // 点位加波浪\r\n setPointHighlight = feature => {\r\n this.feature = feature;\r\n this.addPointHighlight(feature);\r\n };\r\n\r\n // 高亮图层增加feature\r\n addHighlightFeature = feature => {\r\n this.clearSelectFeature();\r\n this.clearFeatures();\r\n if (feature && Array.isArray(feature) && feature?.length) {\r\n this.source.addFeatures(feature);\r\n this.isFit && this.map.fitView(this.source);\r\n }\r\n };\r\n\r\n // 点位高亮-扩散\r\n addPointHighlight = feature => {\r\n let point_overlay = this.map.getOverlayById('POINT_ANIMATION');\r\n if (point_overlay) {\r\n this.map.removeOverlay(point_overlay);\r\n }\r\n\r\n if (feature) {\r\n let geometry = feature?.getGeometry();\r\n let type = geometry?.getType();\r\n if (type === 'Point' && geometry) {\r\n let ele = document.createElement('div');\r\n ele.className = 'point_animation';\r\n\r\n if (!point_overlay) {\r\n point_overlay = new Overlay({\r\n id: 'POINT_ANIMATION',\r\n element: ele,\r\n positioning: 'center-center',\r\n stopEvent: false,\r\n });\r\n }\r\n this.map.addOverlay(point_overlay);\r\n point_overlay.setPosition(geometry.getFlatCoordinates());\r\n this.pointOverlay = point_overlay;\r\n }\r\n this.isFit && this.map.fitView(feature);\r\n }\r\n };\r\n\r\n setCenter = (field, fieldName) => {\r\n let filterField = fieldName || 'code';\r\n this.clearSelectFeature();\r\n let newFeature;\r\n let features = this.source.getFeatures();\r\n\r\n if (features?.length) {\r\n newFeature = features.find(v => {\r\n return (v.get(filterField) || v.get('CODE')) === field;\r\n });\r\n } else if (features && features.get(filterField) === field) {\r\n newFeature = features;\r\n }\r\n this.selectFeature = newFeature;\r\n\r\n if (newFeature) {\r\n newFeature.setStyle();\r\n this.isFit && this.map.fitView(newFeature);\r\n if (this.isHighLight) this.setSelectFeature(newFeature);\r\n } else {\r\n message.warning('地图上未查询到该数据,请检查是否配置坐标信息!');\r\n }\r\n };\r\n\r\n clearSelectFeature() {\r\n if (this.selectFeature) {\r\n this.selectFeature.setStyle();\r\n this.selectFeature = null;\r\n }\r\n }\r\n\r\n clearFeatures() {\r\n this.source && this.source.clear();\r\n this.pointOverlay && this.map.removeOverlay(this.pointOverlay);\r\n }\r\n\r\n setSelectFeature(feature) {\r\n if (feature) {\r\n this.selectFeature = feature;\r\n this.selectFeature.setStyle(\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 7,\r\n fill: new Fill({\r\n color: '#2491fc',\r\n }),\r\n stroke: new Stroke({\r\n color: '#FFFFFF',\r\n width: 2,\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: '#2491fc',\r\n }),\r\n stroke: new Stroke({\r\n color: '#2491fc',\r\n width: 4,\r\n }),\r\n }),\r\n );\r\n }\r\n }\r\n addHighlightData = (data, key, fit) => {\r\n if (data) {\r\n const geoJsonFormat = new GeoJSON();\r\n let res = createFeatureCollection(Array.isArray(data) ? data : [data]);\r\n let features = geoJsonFormat.readFeatures(res);\r\n if (features?.length) {\r\n features.map(v => {\r\n v.key = key;\r\n });\r\n this.setHighlight(features, fit);\r\n }\r\n }\r\n };\r\n destroy() {\r\n this.map.removeLayer(this.layer);\r\n }\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"HighLayer.js","names":["_antd","require","_source","_layer","_style","_ol","_createFeatureCollection","_format","_typeof","obj","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_createClass","protoProps","staticProps","value","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","HighLayer","options","_this","feature","fit","isFit","addHighlightFeature","addPointHighlight","clearSelectFeature","clearFeatures","Array","isArray","addFeatures","map","fitView","point_overlay","getOverlayById","removeOverlay","geometry","getGeometry","type","getType","ele","document","createElement","className","Overlay","id","element","positioning","stopEvent","addOverlay","setPosition","getFlatCoordinates","pointOverlay","field","fieldName","filterField","newFeature","features","getFeatures","find","v","get","selectFeature","setStyle","isHighLight","setSelectFeature","message","warning","data","geoJsonFormat","GeoJSON","createFeatureCollection","readFeatures","setHighlight","_options$isFit","_options$isHighLight","style","highStyle","Style","image","CircleStyle","radius","fill","Fill","color","stroke","Stroke","width","VectorSource","layer","VectorLayer","zIndex","parmas","params","addLayer","clear","destroy","removeLayer","exports"],"sources":["high-layer/HighLayer.js"],"sourcesContent":["/**\r\n * 图层高亮操作\r\n */\r\nimport { message } from 'antd';\r\nimport { Vector as VectorSource } from 'ol/source';\r\nimport { Vector as VectorLayer } from 'ol/layer';\r\nimport { Style, Stroke, Fill, Circle as CircleStyle } from 'ol/style';\r\nimport { Overlay } from 'ol';\r\nimport { createFeatureCollection } from '../feature-layer/createFeatureCollection';\r\nimport { GeoJSON } from 'ol/format';\r\nexport default class HighLayer {\r\n constructor(options) {\r\n const { isFit = true, isHighLight = true, style, key } = options;\r\n this.highStyle =\r\n style ||\r\n new Style({\r\n // 高亮样式\r\n image: new CircleStyle({\r\n radius: 7,\r\n fill: new Fill({\r\n color: '#ff4d4f',\r\n }),\r\n stroke: new Stroke({\r\n color: '#FFFFFF',\r\n width: 2,\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: '#ff4d4f',\r\n }),\r\n stroke: new Stroke({\r\n color: '#ff4d4f',\r\n width: 4,\r\n }),\r\n });\r\n this.isHighLight = isHighLight;\r\n this.map = options.map;\r\n this.feature = options.feature;\r\n this.selectFeature = null;\r\n this.pointOverlay = null;\r\n this.isFit = isFit;\r\n this.source = new VectorSource();\r\n this.layer = new VectorLayer({\r\n source: this.source,\r\n zIndex: 9999,\r\n style: this.highStyle,\r\n ...(options.parmas || options.params || {}),\r\n });\r\n this.layer.key = key || 'Highlight';\r\n this.map.addLayer(this.layer);\r\n }\r\n // 图层放大\r\n setHighlight = (feature, fit = true) => {\r\n this.isFit = fit;\r\n this.feature = feature;\r\n this.addHighlightFeature(feature);\r\n };\r\n // 点位加波浪\r\n setPointHighlight = feature => {\r\n this.feature = feature;\r\n this.addPointHighlight(feature);\r\n };\r\n\r\n // 高亮图层增加feature\r\n addHighlightFeature = feature => {\r\n this.clearSelectFeature();\r\n this.clearFeatures();\r\n if (feature && Array.isArray(feature) && feature?.length) {\r\n this.source.addFeatures(feature);\r\n this.isFit && this.map.fitView(this.source);\r\n }\r\n };\r\n\r\n // 点位高亮-扩散\r\n addPointHighlight = feature => {\r\n let point_overlay = this.map.getOverlayById('POINT_ANIMATION');\r\n if (point_overlay) {\r\n this.map.removeOverlay(point_overlay);\r\n }\r\n\r\n if (feature) {\r\n let geometry = feature?.getGeometry();\r\n let type = geometry?.getType();\r\n if (type === 'Point' && geometry) {\r\n let ele = document.createElement('div');\r\n ele.className = 'point_animation';\r\n\r\n if (!point_overlay) {\r\n point_overlay = new Overlay({\r\n id: 'POINT_ANIMATION',\r\n element: ele,\r\n positioning: 'center-center',\r\n stopEvent: false,\r\n });\r\n }\r\n this.map.addOverlay(point_overlay);\r\n point_overlay.setPosition(geometry.getFlatCoordinates());\r\n this.pointOverlay = point_overlay;\r\n }\r\n this.isFit && this.map.fitView(feature);\r\n }\r\n };\r\n\r\n setCenter = (field, fieldName) => {\r\n let filterField = fieldName || 'code';\r\n this.clearSelectFeature();\r\n let newFeature;\r\n let features = this.source.getFeatures();\r\n\r\n if (features?.length) {\r\n newFeature = features.find(v => {\r\n return (v.get(filterField) || v.get('CODE')) === field;\r\n });\r\n } else if (features && features.get(filterField) === field) {\r\n newFeature = features;\r\n }\r\n this.selectFeature = newFeature;\r\n\r\n if (newFeature) {\r\n newFeature.setStyle();\r\n this.isFit && this.map.fitView(newFeature);\r\n if (this.isHighLight) this.setSelectFeature(newFeature);\r\n } else {\r\n message.warning('地图上未查询到该数据,请检查是否配置坐标信息!');\r\n }\r\n };\r\n\r\n clearSelectFeature() {\r\n if (this.selectFeature) {\r\n this.selectFeature.setStyle();\r\n this.selectFeature = null;\r\n }\r\n }\r\n\r\n clearFeatures() {\r\n this.source && this.source.clear();\r\n this.pointOverlay && this.map.removeOverlay(this.pointOverlay);\r\n }\r\n\r\n setSelectFeature(feature) {\r\n if (feature) {\r\n this.selectFeature = feature;\r\n this.selectFeature.setStyle(\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 7,\r\n fill: new Fill({\r\n color: '#2491fc',\r\n }),\r\n stroke: new Stroke({\r\n color: '#FFFFFF',\r\n width: 2,\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: '#2491fc',\r\n }),\r\n stroke: new Stroke({\r\n color: '#2491fc',\r\n width: 4,\r\n }),\r\n }),\r\n );\r\n }\r\n }\r\n addHighlightData = (data, key, fit) => {\r\n if (data) {\r\n const geoJsonFormat = new GeoJSON();\r\n let res = createFeatureCollection(Array.isArray(data) ? data : [data]);\r\n let features = geoJsonFormat.readFeatures(res);\r\n if (features?.length) {\r\n features.map(v => {\r\n v.key = key;\r\n });\r\n this.setHighlight(features, fit);\r\n }\r\n }\r\n };\r\n destroy() {\r\n this.map.removeLayer(this.layer);\r\n }\r\n}\r\n"],"mappings":"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"}
package/lib/map/Popup.js CHANGED
@@ -188,9 +188,6 @@ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
188
188
  showTemplateByCluster(feature, layer, features);
189
189
  return;
190
190
  }
191
- if (!(layer !== null && layer !== void 0 && layer.template)) {
192
- return;
193
- }
194
191
 
195
192
  // 记录放大前的视角
196
193
  if (map.autoView) {
@@ -199,6 +196,9 @@ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
199
196
  map.highlightLayer.addHighlightFeature(feature, _objectSpread({
200
197
  autoView: map.autoView
201
198
  }, fitViewOptions));
199
+ if (!(layer !== null && layer !== void 0 && layer.template)) {
200
+ return;
201
+ }
202
202
  if (layer) {
203
203
  var template = layer.template;
204
204
  var labelField = layer.labelField;
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_antd","_ol","_layer2","_classnames","_interopRequireDefault","_layerControl","_popup","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","ClusterTitle","props","layer","imgUrl","getImgUrl","createElement","className","classnames","src","alt","Cluster","features","onFeatureClick","onFitView","labelField","onClick","Table","pagination","size","dataSource","scroll","y","columns","title","dataIndex","width","render","text","record","values_","FeatureTable","tableData","style","padding","_record$layer","feature","MapPopup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","overlayRef","useRef","popupRef","featureRef","viewRef","map","useImperativeHandle","showTemplate","hideTemplate","setLastView","useEffect","overlay","Overlay","element","current","wrapDom","autoPan","animation","duration","stopEvent","positioning","offset","addOverlay","removeOverlay","options","_ref","fitViewOptions","hidePopupTable","showTemplateByFeatures","getLayerByFeature","showTemplateByCluster","template","autoView","getView","highlightLayer","addHighlightFeature","Image","geometry","getGeometry","type","getType","coordinate","getCoordinates","includes","getFlatMidpoints","getFlatMidpoint","getFlatInteriorPoints","getFlatInteriorPoint","setPosition","_feature$getGeometry","_layer$_options","_layer$_options$clust","Template","_options","cluster","fitView","f","_clickObject","clusterFeature","properties","getProperties","closePopupAutoView","_viewRef$current","zoom","center","animate","clearFeatures","view","getZoom","viewParams","extent","calculateExtent","getSize","getCenter","onClose","onCloseTemplateBefore","_default","exports"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useImperativeHandle, forwardRef } from 'react';\r\nimport { Table } from 'antd';\r\nimport { Overlay } from 'ol';\r\nimport { Image } from 'ol/layer';\r\nimport classnames from 'classnames';\r\nimport { getImgUrl } from '../tools/layer-control';\r\nimport Popup from '../popup';\r\nimport './style';\r\n\r\nconst ClusterTitle = props => {\r\n const { layer } = props;\r\n let { name } = layer;\r\n\r\n const imgUrl = getImgUrl(layer);\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster-title')}>\r\n <img src={imgUrl} alt=\"\" className={classnames('ol-map-popup-cluster-title-img')} />\r\n <span className={classnames('ol-map-popup-cluster-title-text')}>{name}</span>\r\n </div>\r\n );\r\n};\r\n\r\nconst Cluster = props => {\r\n const { layer, features, onFeatureClick, onFitView } = props;\r\n let { labelField } = layer;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div className={classnames('ol-map-popup-cluster-header')}>\r\n 共 {features.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={features}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '名称',\r\n dataIndex: '名称',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.values_[labelField]}\r\n </a>\r\n );\r\n },\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: '操作',\r\n width: 30,\r\n render: (text, record) => {\r\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst FeatureTable = props => {\r\n const { tableData, onFeatureClick, onFitView } = props;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div\r\n className={classnames('ol-map-popup-cluster-header')}\r\n style={{ padding: '10px 0' }}\r\n >\r\n 共 {tableData.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={tableData}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '图层',\r\n dataIndex: 'layerName',\r\n width: 40,\r\n render: (text, record) => record.layer.name,\r\n },\r\n {\r\n title: '名称',\r\n dataIndex: 'name',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.feature.values_[record?.layer?.labelField || 'name'] ||\r\n '-'}\r\n </a>\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst MapPopup = forwardRef((props, ref) => {\r\n const [content, setContent] = useState(null);\r\n const [title, setTitle] = useState(null);\r\n const overlayRef = useRef();\r\n const popupRef = useRef();\r\n const featureRef = useRef();\r\n const viewRef = useRef({});\r\n\r\n const { map } = props;\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n showTemplate,\r\n hideTemplate,\r\n setLastView,\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n const overlay = new Overlay({\r\n element: popupRef.current.wrapDom,\r\n autoPan: {\r\n animation: {\r\n duration: 250,\r\n },\r\n },\r\n stopEvent: true,\r\n positioning: 'bottom-center',\r\n offset: [10, -45],\r\n });\r\n overlayRef.current = overlay;\r\n\r\n map.addOverlay(overlay);\r\n\r\n return () => {\r\n map.removeOverlay(overlay);\r\n };\r\n }, []);\r\n\r\n const showTemplate = (feature, options) => {\r\n const { fitViewOptions } = options || {};\r\n\r\n if (Array.isArray(feature) && feature.length >= 2 && !map.hidePopupTable) {\r\n showTemplateByFeatures(feature, options);\r\n return;\r\n }\r\n\r\n feature = Array.isArray(feature) ? feature[0] : feature;\r\n\r\n featureRef.current = feature;\r\n\r\n if (!feature) {\r\n hideTemplate();\r\n return;\r\n }\r\n\r\n let layer = map.getLayerByFeature(feature);\r\n map.featureRef = feature;\r\n\r\n // 判断是否为聚合点击\r\n const features = feature.get('features');\r\n if (features && features.length >= 2) {\r\n showTemplateByCluster(feature, layer, features);\r\n return;\r\n }\r\n\r\n if (!layer?.template) {\r\n return;\r\n }\r\n\r\n // 记录放大前的视角\r\n if (map.autoView) {\r\n getView();\r\n }\r\n\r\n map.highlightLayer.addHighlightFeature(feature, {\r\n autoView: map.autoView,\r\n ...fitViewOptions,\r\n });\r\n\r\n if (layer) {\r\n let template = layer.template;\r\n let labelField = layer.labelField;\r\n if (labelField) {\r\n setTitle(feature.values_[labelField]);\r\n }\r\n if (template) {\r\n setContent(template(feature));\r\n\r\n let offset = layer instanceof Image ? [10, -10] : [10, -45];\r\n\r\n let geometry = feature.getGeometry();\r\n if (geometry) {\r\n let type = geometry.getType();\r\n let coordinate = geometry.getCoordinates();\r\n\r\n if (['MultiLineString', 'LineString'].includes(type)) {\r\n if (geometry.getFlatMidpoints) {\r\n coordinate = geometry.getFlatMidpoints();\r\n } else if (geometry.getFlatMidpoint) {\r\n coordinate = geometry.getFlatMidpoint();\r\n }\r\n offset = [7, 0];\r\n } else if (['MultiPolygon', 'Polygon'].includes(type)) {\r\n if (geometry.getFlatInteriorPoints) {\r\n coordinate = geometry.getFlatInteriorPoints();\r\n } else if (geometry.getFlatInteriorPoint) {\r\n coordinate = geometry.getFlatInteriorPoint();\r\n }\r\n offset = [10, 0];\r\n }\r\n\r\n overlayRef.current.setPosition(coordinate);\r\n overlayRef.current.values_.offset = offset;\r\n }\r\n }\r\n }\r\n };\r\n\r\n // 聚合点位展示\r\n const showTemplateByCluster = (feature, layer, features) => {\r\n let coordinate = feature?.getGeometry()?.getCoordinates();\r\n overlayRef.current.setPosition(coordinate);\r\n\r\n setTitle(<ClusterTitle layer={layer} />);\r\n\r\n // 判断是否有自定义聚合列表模版\r\n let Template = layer?._options?.cluster?.template || Cluster;\r\n setContent(\r\n <Template\r\n layer={layer}\r\n features={features}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={f => {\r\n map.fitView(f);\r\n showTemplate(f);\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 多个点位展示\r\n const showTemplateByFeatures = features => {\r\n overlayRef.current.setPosition(map._clickObject.coordinate);\r\n overlayRef.current.values_.offset = [10, -10];\r\n\r\n setTitle(null);\r\n\r\n const tableData = [];\r\n features.map(feature => {\r\n let layer = map.getLayerByFeature(feature);\r\n // 判断是否为聚合点击\r\n const clusterFeature = feature.get('features');\r\n if (clusterFeature && clusterFeature.length >= 2) {\r\n clusterFeature.map(f => {\r\n tableData.push({\r\n layer: layer,\r\n feature: f,\r\n });\r\n });\r\n } else {\r\n let layer = map.getLayerByFeature(feature);\r\n tableData.push({\r\n layer: layer,\r\n feature: feature,\r\n });\r\n }\r\n });\r\n\r\n setContent(\r\n <FeatureTable\r\n tableData={tableData}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={record => {\r\n let { feature } = record;\r\n let layer = map.getLayerByFeature(feature);\r\n\r\n let properties = feature.getProperties();\r\n layer?.onClick(properties, map._clickObject);\r\n\r\n if (layer?.template) {\r\n map.fitView(feature);\r\n showTemplate(feature);\r\n }\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 恢复上一次视角\r\n const setLastView = () => {\r\n // 恢复打开前的视角\r\n if (map.autoView && map.closePopupAutoView && viewRef.current) {\r\n const { zoom, center } = viewRef.current;\r\n map.getView().animate({ zoom, center });\r\n }\r\n };\r\n\r\n const hideTemplate = () => {\r\n overlayRef.current.setPosition(undefined);\r\n map.highlightLayer.clearFeatures();\r\n setContent(null);\r\n setTitle(null);\r\n featureRef.current = null;\r\n map.featureRef = null;\r\n };\r\n\r\n const getView = () => {\r\n const view = map.getView();\r\n\r\n let zoom = view.getZoom();\r\n let viewParams;\r\n if (zoom < 15) {\r\n viewParams = {\r\n extent: view.calculateExtent(map.getSize()),\r\n zoom: view.getZoom(),\r\n center: view.getCenter(),\r\n };\r\n }\r\n viewRef.current = viewParams;\r\n };\r\n\r\n const onClose = () => {\r\n // 回调事件\r\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\r\n\r\n // 隐藏气泡\r\n hideTemplate();\r\n\r\n // 恢复打开前的视角\r\n setLastView();\r\n };\r\n return (\r\n <Popup ref={popupRef} title={title} onClose={onClose}>\r\n {content}\r\n </Popup>\r\n );\r\n});\r\n\r\nexport default MapPopup;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_antd","_ol","_layer2","_classnames","_interopRequireDefault","_layerControl","_popup","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","ClusterTitle","props","layer","imgUrl","getImgUrl","createElement","className","classnames","src","alt","Cluster","features","onFeatureClick","onFitView","labelField","onClick","Table","pagination","size","dataSource","scroll","y","columns","title","dataIndex","width","render","text","record","values_","FeatureTable","tableData","style","padding","_record$layer","feature","MapPopup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","overlayRef","useRef","popupRef","featureRef","viewRef","map","useImperativeHandle","showTemplate","hideTemplate","setLastView","useEffect","overlay","Overlay","element","current","wrapDom","autoPan","animation","duration","stopEvent","positioning","offset","addOverlay","removeOverlay","options","_ref","fitViewOptions","hidePopupTable","showTemplateByFeatures","getLayerByFeature","showTemplateByCluster","autoView","getView","highlightLayer","addHighlightFeature","template","Image","geometry","getGeometry","type","getType","coordinate","getCoordinates","includes","getFlatMidpoints","getFlatMidpoint","getFlatInteriorPoints","getFlatInteriorPoint","setPosition","_feature$getGeometry","_layer$_options","_layer$_options$clust","Template","_options","cluster","fitView","f","_clickObject","clusterFeature","properties","getProperties","closePopupAutoView","_viewRef$current","zoom","center","animate","clearFeatures","view","getZoom","viewParams","extent","calculateExtent","getSize","getCenter","onClose","onCloseTemplateBefore","_default","exports"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useImperativeHandle, forwardRef } from 'react';\r\nimport { Table } from 'antd';\r\nimport { Overlay } from 'ol';\r\nimport { Image } from 'ol/layer';\r\nimport classnames from 'classnames';\r\nimport { getImgUrl } from '../tools/layer-control';\r\nimport Popup from '../popup';\r\nimport './style';\r\n\r\nconst ClusterTitle = props => {\r\n const { layer } = props;\r\n let { name } = layer;\r\n\r\n const imgUrl = getImgUrl(layer);\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster-title')}>\r\n <img src={imgUrl} alt=\"\" className={classnames('ol-map-popup-cluster-title-img')} />\r\n <span className={classnames('ol-map-popup-cluster-title-text')}>{name}</span>\r\n </div>\r\n );\r\n};\r\n\r\nconst Cluster = props => {\r\n const { layer, features, onFeatureClick, onFitView } = props;\r\n let { labelField } = layer;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div className={classnames('ol-map-popup-cluster-header')}>\r\n 共 {features.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={features}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '名称',\r\n dataIndex: '名称',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.values_[labelField]}\r\n </a>\r\n );\r\n },\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: '操作',\r\n width: 30,\r\n render: (text, record) => {\r\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst FeatureTable = props => {\r\n const { tableData, onFeatureClick, onFitView } = props;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div\r\n className={classnames('ol-map-popup-cluster-header')}\r\n style={{ padding: '10px 0' }}\r\n >\r\n 共 {tableData.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={tableData}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '图层',\r\n dataIndex: 'layerName',\r\n width: 40,\r\n render: (text, record) => record.layer.name,\r\n },\r\n {\r\n title: '名称',\r\n dataIndex: 'name',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.feature.values_[record?.layer?.labelField || 'name'] ||\r\n '-'}\r\n </a>\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst MapPopup = forwardRef((props, ref) => {\r\n const [content, setContent] = useState(null);\r\n const [title, setTitle] = useState(null);\r\n const overlayRef = useRef();\r\n const popupRef = useRef();\r\n const featureRef = useRef();\r\n const viewRef = useRef({});\r\n\r\n const { map } = props;\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n showTemplate,\r\n hideTemplate,\r\n setLastView,\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n const overlay = new Overlay({\r\n element: popupRef.current.wrapDom,\r\n autoPan: {\r\n animation: {\r\n duration: 250,\r\n },\r\n },\r\n stopEvent: true,\r\n positioning: 'bottom-center',\r\n offset: [10, -45],\r\n });\r\n overlayRef.current = overlay;\r\n\r\n map.addOverlay(overlay);\r\n\r\n return () => {\r\n map.removeOverlay(overlay);\r\n };\r\n }, []);\r\n\r\n const showTemplate = (feature, options) => {\r\n const { fitViewOptions } = options || {};\r\n\r\n if (Array.isArray(feature) && feature.length >= 2 && !map.hidePopupTable) {\r\n showTemplateByFeatures(feature, options);\r\n return;\r\n }\r\n\r\n feature = Array.isArray(feature) ? feature[0] : feature;\r\n\r\n featureRef.current = feature;\r\n\r\n if (!feature) {\r\n hideTemplate();\r\n return;\r\n }\r\n\r\n let layer = map.getLayerByFeature(feature);\r\n map.featureRef = feature;\r\n\r\n // 判断是否为聚合点击\r\n const features = feature.get('features');\r\n if (features && features.length >= 2) {\r\n showTemplateByCluster(feature, layer, features);\r\n return;\r\n }\r\n\r\n // 记录放大前的视角\r\n if (map.autoView) {\r\n getView();\r\n }\r\n\r\n map.highlightLayer.addHighlightFeature(feature, {\r\n autoView: map.autoView,\r\n ...fitViewOptions,\r\n });\r\n\r\n if (!layer?.template) {\r\n return;\r\n }\r\n\r\n if (layer) {\r\n let template = layer.template;\r\n let labelField = layer.labelField;\r\n if (labelField) {\r\n setTitle(feature.values_[labelField]);\r\n }\r\n if (template) {\r\n setContent(template(feature));\r\n\r\n let offset = layer instanceof Image ? [10, -10] : [10, -45];\r\n\r\n let geometry = feature.getGeometry();\r\n if (geometry) {\r\n let type = geometry.getType();\r\n let coordinate = geometry.getCoordinates();\r\n\r\n if (['MultiLineString', 'LineString'].includes(type)) {\r\n if (geometry.getFlatMidpoints) {\r\n coordinate = geometry.getFlatMidpoints();\r\n } else if (geometry.getFlatMidpoint) {\r\n coordinate = geometry.getFlatMidpoint();\r\n }\r\n offset = [7, 0];\r\n } else if (['MultiPolygon', 'Polygon'].includes(type)) {\r\n if (geometry.getFlatInteriorPoints) {\r\n coordinate = geometry.getFlatInteriorPoints();\r\n } else if (geometry.getFlatInteriorPoint) {\r\n coordinate = geometry.getFlatInteriorPoint();\r\n }\r\n offset = [10, 0];\r\n }\r\n\r\n overlayRef.current.setPosition(coordinate);\r\n overlayRef.current.values_.offset = offset;\r\n }\r\n }\r\n }\r\n };\r\n\r\n // 聚合点位展示\r\n const showTemplateByCluster = (feature, layer, features) => {\r\n let coordinate = feature?.getGeometry()?.getCoordinates();\r\n overlayRef.current.setPosition(coordinate);\r\n\r\n setTitle(<ClusterTitle layer={layer} />);\r\n\r\n // 判断是否有自定义聚合列表模版\r\n let Template = layer?._options?.cluster?.template || Cluster;\r\n setContent(\r\n <Template\r\n layer={layer}\r\n features={features}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={f => {\r\n map.fitView(f);\r\n showTemplate(f);\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 多个点位展示\r\n const showTemplateByFeatures = features => {\r\n overlayRef.current.setPosition(map._clickObject.coordinate);\r\n overlayRef.current.values_.offset = [10, -10];\r\n\r\n setTitle(null);\r\n\r\n const tableData = [];\r\n features.map(feature => {\r\n let layer = map.getLayerByFeature(feature);\r\n // 判断是否为聚合点击\r\n const clusterFeature = feature.get('features');\r\n if (clusterFeature && clusterFeature.length >= 2) {\r\n clusterFeature.map(f => {\r\n tableData.push({\r\n layer: layer,\r\n feature: f,\r\n });\r\n });\r\n } else {\r\n let layer = map.getLayerByFeature(feature);\r\n tableData.push({\r\n layer: layer,\r\n feature: feature,\r\n });\r\n }\r\n });\r\n\r\n setContent(\r\n <FeatureTable\r\n tableData={tableData}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={record => {\r\n let { feature } = record;\r\n let layer = map.getLayerByFeature(feature);\r\n\r\n let properties = feature.getProperties();\r\n layer?.onClick(properties, map._clickObject);\r\n\r\n if (layer?.template) {\r\n map.fitView(feature);\r\n showTemplate(feature);\r\n }\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 恢复上一次视角\r\n const setLastView = () => {\r\n // 恢复打开前的视角\r\n if (map.autoView && map.closePopupAutoView && viewRef.current) {\r\n const { zoom, center } = viewRef.current;\r\n map.getView().animate({ zoom, center });\r\n }\r\n };\r\n\r\n const hideTemplate = () => {\r\n overlayRef.current.setPosition(undefined);\r\n map.highlightLayer.clearFeatures();\r\n setContent(null);\r\n setTitle(null);\r\n featureRef.current = null;\r\n map.featureRef = null;\r\n };\r\n\r\n const getView = () => {\r\n const view = map.getView();\r\n\r\n let zoom = view.getZoom();\r\n let viewParams;\r\n if (zoom < 15) {\r\n viewParams = {\r\n extent: view.calculateExtent(map.getSize()),\r\n zoom: view.getZoom(),\r\n center: view.getCenter(),\r\n };\r\n }\r\n viewRef.current = viewParams;\r\n };\r\n\r\n const onClose = () => {\r\n // 回调事件\r\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\r\n\r\n // 隐藏气泡\r\n hideTemplate();\r\n\r\n // 恢复打开前的视角\r\n setLastView();\r\n };\r\n return (\r\n <Popup ref={popupRef} title={title} onClose={onClose}>\r\n {content}\r\n </Popup>\r\n );\r\n});\r\n\r\nexport default MapPopup;\r\n"],"mappings":"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"}
@@ -143,7 +143,7 @@ var getLayer = function getLayer(_ref) {
143
143
  var dark = _ref.dark;
144
144
  var mapLayer = new _layer.Tile({
145
145
  source: getSource(),
146
- className: dark && 'map-dark',
146
+ className: dark && 'ol-map-dark',
147
147
  zIndex: 0
148
148
  });
149
149
  return [mapLayer];
@@ -1 +1 @@
1
- {"version":3,"file":"AmapImageryProvider.js","names":["_layer","require","_proj","_source","PI","Math","AXIS","OFFSET","delta","wgLon","wgLat","dLat","transformLat","dLon","transformLon","radLat","magic","sin","sqrtMagic","sqrt","cos","outOfChina","lon","lat","x","y","ret","abs","forEachPoint","func","input","opt_output","opt_dimension","len","length","dimension","output","slice","Array","offset","gcj02","toWGS84","lng","deltaD","fromWGS84","projzh","ll2smerc","getTransform","smerc2ll","ll2gmerc","gmerc2ll","smerc2gmerc","gmerc2smerc","gcj02Mecator","Projection","code","extent","units","addProjection","addCoordinateTransforms","getSource","XYZSource","projection","maxZoom","url","crossOrigin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/amap/AmapImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\r\n// 导入proj控件,使用其方法注入gcj02坐标系\r\nimport { Projection, addProjection, addCoordinateTransforms, getTransform } from 'ol/proj';\r\nimport { XYZ as XYZSource } from 'ol/source';\r\nimport { transform as transformProj } from 'ol/proj';\r\n\r\nconst PI = Math.PI;\r\nconst AXIS = 6378245.0;\r\nconst OFFSET = 0.00669342162296594323; // (a^2 - b^2) / a^2\r\n\r\nfunction delta(wgLon, wgLat) {\r\n let dLat = transformLat(wgLon - 105.0, wgLat - 35.0);\r\n let dLon = transformLon(wgLon - 105.0, wgLat - 35.0);\r\n const radLat = (wgLat / 180.0) * PI;\r\n let magic = Math.sin(radLat);\r\n magic = 1 - OFFSET * magic * magic;\r\n const sqrtMagic = Math.sqrt(magic);\r\n dLat = (dLat * 180.0) / (((AXIS * (1 - OFFSET)) / (magic * sqrtMagic)) * PI);\r\n dLon = (dLon * 180.0) / ((AXIS / sqrtMagic) * Math.cos(radLat) * PI);\r\n return [dLon, dLat];\r\n}\r\n\r\nfunction outOfChina(lon, lat) {\r\n if (lon < 72.004 || lon > 137.8347) {\r\n return true;\r\n }\r\n if (lat < 0.8293 || lat > 55.8271) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction transformLat(x, y) {\r\n let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));\r\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\r\n ret += ((20.0 * Math.sin(y * PI) + 40.0 * Math.sin((y / 3.0) * PI)) * 2.0) / 3.0;\r\n ret += ((160.0 * Math.sin((y / 12.0) * PI) + 320 * Math.sin((y * PI) / 30.0)) * 2.0) / 3.0;\r\n return ret;\r\n}\r\n\r\nfunction transformLon(x, y) {\r\n let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));\r\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\r\n ret += ((20.0 * Math.sin(x * PI) + 40.0 * Math.sin((x / 3.0) * PI)) * 2.0) / 3.0;\r\n ret += ((150.0 * Math.sin((x / 12.0) * PI) + 300.0 * Math.sin((x / 30.0) * PI)) * 2.0) / 3.0;\r\n return ret;\r\n}\r\n\r\nconst forEachPoint = function (func) {\r\n return function (input, opt_output, opt_dimension) {\r\n const len = input.length;\r\n const dimension = opt_dimension || 2;\r\n let output;\r\n if (opt_output) {\r\n output = opt_output;\r\n } else if (dimension !== 2) {\r\n output = input.slice();\r\n } else {\r\n output = new Array(len);\r\n }\r\n for (let offset = 0; offset < len; offset += dimension) {\r\n func(input, output, offset);\r\n }\r\n return output;\r\n };\r\n};\r\n\r\nconst gcj02 = {\r\n toWGS84: forEachPoint(function (input, output, offset) {\r\n let lng = input[offset];\r\n let lat = input[offset + 1];\r\n if (!outOfChina(lng, lat)) {\r\n const deltaD = delta(lng, lat);\r\n lng = lng - deltaD[0];\r\n lat = lat - deltaD[1];\r\n }\r\n output[offset] = lng;\r\n output[offset + 1] = lat;\r\n }),\r\n fromWGS84: forEachPoint(function (input, output, offset) {\r\n let lng = input[offset];\r\n let lat = input[offset + 1];\r\n if (!outOfChina(lng, lat)) {\r\n const deltaD = delta(lng, lat);\r\n lng = lng + deltaD[0];\r\n lat = lat + deltaD[1];\r\n }\r\n output[offset] = lng;\r\n output[offset + 1] = lat;\r\n }),\r\n};\r\n\r\nconst projzh = {\r\n ll2smerc: getTransform('EPSG:4326', 'EPSG:3857'),\r\n smerc2ll: getTransform('EPSG:3857', 'EPSG:4326'),\r\n};\r\n\r\n// wgs84 -> gcj02\r\nprojzh.ll2gmerc = function (input, opt_output, opt_dimension) {\r\n const output = gcj02.fromWGS84(input, opt_output, opt_dimension);\r\n return projzh.ll2smerc(output, output, opt_dimension);\r\n};\r\n// gcj02 -> wgs84\r\nprojzh.gmerc2ll = function (input, opt_output, opt_dimension) {\r\n const output = projzh.smerc2ll(input, input, opt_dimension);\r\n return gcj02.toWGS84(output, opt_output, opt_dimension);\r\n};\r\n// 3857 -> gcj02\r\nprojzh.smerc2gmerc = function (input, opt_output, opt_dimension) {\r\n let output = projzh.smerc2ll(input, input, opt_dimension);\r\n output = gcj02.fromWGS84(output, output, opt_dimension);\r\n return projzh.ll2smerc(output, output, opt_dimension);\r\n};\r\n// gcj02 -> 3857\r\nprojzh.gmerc2smerc = function (input, opt_output, opt_dimension) {\r\n let output = projzh.smerc2ll(input, input, opt_dimension);\r\n output = gcj02.toWGS84(output, output, opt_dimension);\r\n return projzh.ll2smerc(output, output, opt_dimension);\r\n};\r\n\r\n// 定义GCJ02墨卡托投影坐标系\r\nconst gcj02Mecator = new Projection({\r\n code: 'GCJ-02',\r\n // extent不能缺少,OpenLayers frame 渲染的时候需要\r\n extent: [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244],\r\n units: 'm',\r\n});\r\n\r\n// 将GCJ02墨卡托投影坐标系注册进OpenLayers\r\naddProjection(gcj02Mecator);\r\n\r\n// 覆盖默认的转换方法\r\naddCoordinateTransforms('EPSG:4326', gcj02Mecator, projzh.ll2gmerc, projzh.gmerc2ll);\r\naddCoordinateTransforms('EPSG:3857', gcj02Mecator, projzh.smerc2gmerc, projzh.gmerc2smerc);\r\n\r\nconst getSource = () => {\r\n return new XYZSource({\r\n projection: gcj02Mecator,\r\n maxZoom: 18,\r\n url: '//wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=10&x={x}&y={y}&z={z}',\r\n crossOrigin: 'anonymous',\r\n });\r\n};\r\n\r\nconst getLayer = ({ dark }) => {\r\n let mapLayer = new TileLayer({\r\n source: getSource(),\r\n className: dark && 'map-dark',\r\n zIndex: 0\r\n });\r\n\r\n return [mapLayer];\r\n};\r\n\r\n// 转换方法\r\nconst transform = coordinate => {\r\n return transformProj(coordinate, 'EPSG:4326', 'GCJ-02');\r\n};\r\n\r\nexport default {\r\n mercator: gcj02Mecator,\r\n gcj02,\r\n transform,\r\n getSource,\r\n getLayer,\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"AmapImageryProvider.js","names":["_layer","require","_proj","_source","PI","Math","AXIS","OFFSET","delta","wgLon","wgLat","dLat","transformLat","dLon","transformLon","radLat","magic","sin","sqrtMagic","sqrt","cos","outOfChina","lon","lat","x","y","ret","abs","forEachPoint","func","input","opt_output","opt_dimension","len","length","dimension","output","slice","Array","offset","gcj02","toWGS84","lng","deltaD","fromWGS84","projzh","ll2smerc","getTransform","smerc2ll","ll2gmerc","gmerc2ll","smerc2gmerc","gmerc2smerc","gcj02Mecator","Projection","code","extent","units","addProjection","addCoordinateTransforms","getSource","XYZSource","projection","maxZoom","url","crossOrigin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/amap/AmapImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\r\n// 导入proj控件,使用其方法注入gcj02坐标系\r\nimport { Projection, addProjection, addCoordinateTransforms, getTransform } from 'ol/proj';\r\nimport { XYZ as XYZSource } from 'ol/source';\r\nimport { transform as transformProj } from 'ol/proj';\r\n\r\nconst PI = Math.PI;\r\nconst AXIS = 6378245.0;\r\nconst OFFSET = 0.00669342162296594323; // (a^2 - b^2) / a^2\r\n\r\nfunction delta(wgLon, wgLat) {\r\n let dLat = transformLat(wgLon - 105.0, wgLat - 35.0);\r\n let dLon = transformLon(wgLon - 105.0, wgLat - 35.0);\r\n const radLat = (wgLat / 180.0) * PI;\r\n let magic = Math.sin(radLat);\r\n magic = 1 - OFFSET * magic * magic;\r\n const sqrtMagic = Math.sqrt(magic);\r\n dLat = (dLat * 180.0) / (((AXIS * (1 - OFFSET)) / (magic * sqrtMagic)) * PI);\r\n dLon = (dLon * 180.0) / ((AXIS / sqrtMagic) * Math.cos(radLat) * PI);\r\n return [dLon, dLat];\r\n}\r\n\r\nfunction outOfChina(lon, lat) {\r\n if (lon < 72.004 || lon > 137.8347) {\r\n return true;\r\n }\r\n if (lat < 0.8293 || lat > 55.8271) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction transformLat(x, y) {\r\n let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));\r\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\r\n ret += ((20.0 * Math.sin(y * PI) + 40.0 * Math.sin((y / 3.0) * PI)) * 2.0) / 3.0;\r\n ret += ((160.0 * Math.sin((y / 12.0) * PI) + 320 * Math.sin((y * PI) / 30.0)) * 2.0) / 3.0;\r\n return ret;\r\n}\r\n\r\nfunction transformLon(x, y) {\r\n let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));\r\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\r\n ret += ((20.0 * Math.sin(x * PI) + 40.0 * Math.sin((x / 3.0) * PI)) * 2.0) / 3.0;\r\n ret += ((150.0 * Math.sin((x / 12.0) * PI) + 300.0 * Math.sin((x / 30.0) * PI)) * 2.0) / 3.0;\r\n return ret;\r\n}\r\n\r\nconst forEachPoint = function (func) {\r\n return function (input, opt_output, opt_dimension) {\r\n const len = input.length;\r\n const dimension = opt_dimension || 2;\r\n let output;\r\n if (opt_output) {\r\n output = opt_output;\r\n } else if (dimension !== 2) {\r\n output = input.slice();\r\n } else {\r\n output = new Array(len);\r\n }\r\n for (let offset = 0; offset < len; offset += dimension) {\r\n func(input, output, offset);\r\n }\r\n return output;\r\n };\r\n};\r\n\r\nconst gcj02 = {\r\n toWGS84: forEachPoint(function (input, output, offset) {\r\n let lng = input[offset];\r\n let lat = input[offset + 1];\r\n if (!outOfChina(lng, lat)) {\r\n const deltaD = delta(lng, lat);\r\n lng = lng - deltaD[0];\r\n lat = lat - deltaD[1];\r\n }\r\n output[offset] = lng;\r\n output[offset + 1] = lat;\r\n }),\r\n fromWGS84: forEachPoint(function (input, output, offset) {\r\n let lng = input[offset];\r\n let lat = input[offset + 1];\r\n if (!outOfChina(lng, lat)) {\r\n const deltaD = delta(lng, lat);\r\n lng = lng + deltaD[0];\r\n lat = lat + deltaD[1];\r\n }\r\n output[offset] = lng;\r\n output[offset + 1] = lat;\r\n }),\r\n};\r\n\r\nconst projzh = {\r\n ll2smerc: getTransform('EPSG:4326', 'EPSG:3857'),\r\n smerc2ll: getTransform('EPSG:3857', 'EPSG:4326'),\r\n};\r\n\r\n// wgs84 -> gcj02\r\nprojzh.ll2gmerc = function (input, opt_output, opt_dimension) {\r\n const output = gcj02.fromWGS84(input, opt_output, opt_dimension);\r\n return projzh.ll2smerc(output, output, opt_dimension);\r\n};\r\n// gcj02 -> wgs84\r\nprojzh.gmerc2ll = function (input, opt_output, opt_dimension) {\r\n const output = projzh.smerc2ll(input, input, opt_dimension);\r\n return gcj02.toWGS84(output, opt_output, opt_dimension);\r\n};\r\n// 3857 -> gcj02\r\nprojzh.smerc2gmerc = function (input, opt_output, opt_dimension) {\r\n let output = projzh.smerc2ll(input, input, opt_dimension);\r\n output = gcj02.fromWGS84(output, output, opt_dimension);\r\n return projzh.ll2smerc(output, output, opt_dimension);\r\n};\r\n// gcj02 -> 3857\r\nprojzh.gmerc2smerc = function (input, opt_output, opt_dimension) {\r\n let output = projzh.smerc2ll(input, input, opt_dimension);\r\n output = gcj02.toWGS84(output, output, opt_dimension);\r\n return projzh.ll2smerc(output, output, opt_dimension);\r\n};\r\n\r\n// 定义GCJ02墨卡托投影坐标系\r\nconst gcj02Mecator = new Projection({\r\n code: 'GCJ-02',\r\n // extent不能缺少,OpenLayers frame 渲染的时候需要\r\n extent: [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244],\r\n units: 'm',\r\n});\r\n\r\n// 将GCJ02墨卡托投影坐标系注册进OpenLayers\r\naddProjection(gcj02Mecator);\r\n\r\n// 覆盖默认的转换方法\r\naddCoordinateTransforms('EPSG:4326', gcj02Mecator, projzh.ll2gmerc, projzh.gmerc2ll);\r\naddCoordinateTransforms('EPSG:3857', gcj02Mecator, projzh.smerc2gmerc, projzh.gmerc2smerc);\r\n\r\nconst getSource = () => {\r\n return new XYZSource({\r\n projection: gcj02Mecator,\r\n maxZoom: 18,\r\n url: '//wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=10&x={x}&y={y}&z={z}',\r\n crossOrigin: 'anonymous',\r\n });\r\n};\r\n\r\nconst getLayer = ({ dark }) => {\r\n let mapLayer = new TileLayer({\r\n source: getSource(),\r\n className: dark && 'ol-map-dark',\r\n zIndex: 0\r\n });\r\n\r\n return [mapLayer];\r\n};\r\n\r\n// 转换方法\r\nconst transform = coordinate => {\r\n return transformProj(coordinate, 'EPSG:4326', 'GCJ-02');\r\n};\r\n\r\nexport default {\r\n mercator: gcj02Mecator,\r\n gcj02,\r\n transform,\r\n getSource,\r\n getLayer,\r\n};\r\n"],"mappings":"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"}
@@ -64,7 +64,7 @@ var getLayer = function getLayer(_ref) {
64
64
  var dark = _ref.dark;
65
65
  var mapLayer = new _layer.Tile({
66
66
  source: getSource(),
67
- className: dark && 'map-dark',
67
+ className: dark && 'ol-map-dark',
68
68
  zIndex: 0
69
69
  });
70
70
  return [mapLayer];
@@ -1 +1 @@
1
- {"version":3,"file":"BaiduImageryProvider.js","names":["_layer","require","_proj","_projzh","_interopRequireDefault","_source","_TileGrid","obj","__esModule","bd09Mercator","Projection","code","extent","units","addProjection","addCoordinateTransforms","projzh","ll2bmerc","bmerc2ll","smerc2bmerc","bmerc2smerc","getSource","bmercResolutions","Array","i","Math","pow","urls","map","sub","XYZ","projection","maxZoom","crossOrigin","tileUrlFunction","tileCoord","x","y","z","hash","index","length","replace","tilePixelRatio","tileGrid","TileGrid","resolutions","origin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\r\n// 导入proj控件,使用其方法注入gcj02坐标系\r\nimport {\r\n Projection,\r\n addProjection,\r\n addCoordinateTransforms,\r\n transform as transformProj,\r\n} from 'ol/proj';\r\nimport projzh from '../../../../_util/projzh';\r\nimport { XYZ } from 'ol/source';\r\nimport TileGrid from 'ol/tilegrid/TileGrid';\r\n\r\nlet bd09Mercator = new Projection({\r\n code: 'BD-09',\r\n extent: [-20037726.37, -12474104.17, 20037726.37, 12474104.17],\r\n units: 'm',\r\n});\r\n\r\n// 将BD09墨卡托投影坐标系注册进OpenLayers\r\naddProjection(bd09Mercator);\r\n\r\n// 覆盖默认的转换方法\r\naddCoordinateTransforms('EPSG:4326', bd09Mercator, projzh.ll2bmerc, projzh.bmerc2ll);\r\naddCoordinateTransforms('EPSG:3857', bd09Mercator, projzh.smerc2bmerc, projzh.bmerc2smerc);\r\n\r\nconst getSource = () => {\r\n let bmercResolutions = new Array(19);\r\n for (let i = 0; i < 19; ++i) {\r\n bmercResolutions[i] = Math.pow(2, 18 - i);\r\n }\r\n let urls = [0, 1, 2, 3].map(function (sub) {\r\n return (\r\n '//maponline' +\r\n sub +\r\n '.bdimg.com/tile/?qt=vtile&x={x}&y={y}&z={z}&styles=pl&scaler=2&udt=20210506&from=jsapi3_0'\r\n );\r\n });\r\n\r\n return new XYZ({\r\n projection: 'BD-09',\r\n maxZoom: 18,\r\n crossOrigin: 'anonymous',\r\n tileUrlFunction: function (tileCoord) {\r\n let x = tileCoord[1];\r\n let y = -tileCoord[2] - 1;\r\n let z = tileCoord[0];\r\n let hash = (x << z) + y;\r\n let index = hash % urls.length;\r\n index = index < 0 ? index + urls.length : index;\r\n if (x < 0) {\r\n x = 'M' + -x;\r\n }\r\n if (y < 0) {\r\n y = 'M' + -y;\r\n }\r\n return urls[index]\r\n .replace('{x}', x)\r\n .replace('{y}', y)\r\n .replace('{z}', z);\r\n },\r\n tilePixelRatio: 2,\r\n tileGrid: new TileGrid({\r\n resolutions: bmercResolutions,\r\n origin: [0, 0],\r\n }),\r\n });\r\n};\r\n\r\n// 获取百度底图\r\nconst getLayer = ({ dark }) => {\r\n let mapLayer = new TileLayer({\r\n source: getSource(),\r\n className: dark && 'map-dark',\r\n zIndex: 0\r\n });\r\n\r\n return [mapLayer];\r\n};\r\n\r\n// 转换方法\r\nconst transform = coordinate => {\r\n return transformProj(coordinate, 'EPSG:4326', 'BD-09');\r\n};\r\n\r\nexport default {\r\n mercator: bd09Mercator,\r\n transform,\r\n getSource,\r\n getLayer,\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"BaiduImageryProvider.js","names":["_layer","require","_proj","_projzh","_interopRequireDefault","_source","_TileGrid","obj","__esModule","bd09Mercator","Projection","code","extent","units","addProjection","addCoordinateTransforms","projzh","ll2bmerc","bmerc2ll","smerc2bmerc","bmerc2smerc","getSource","bmercResolutions","Array","i","Math","pow","urls","map","sub","XYZ","projection","maxZoom","crossOrigin","tileUrlFunction","tileCoord","x","y","z","hash","index","length","replace","tilePixelRatio","tileGrid","TileGrid","resolutions","origin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\r\n// 导入proj控件,使用其方法注入gcj02坐标系\r\nimport {\r\n Projection,\r\n addProjection,\r\n addCoordinateTransforms,\r\n transform as transformProj,\r\n} from 'ol/proj';\r\nimport projzh from '../../../../_util/projzh';\r\nimport { XYZ } from 'ol/source';\r\nimport TileGrid from 'ol/tilegrid/TileGrid';\r\n\r\nlet bd09Mercator = new Projection({\r\n code: 'BD-09',\r\n extent: [-20037726.37, -12474104.17, 20037726.37, 12474104.17],\r\n units: 'm',\r\n});\r\n\r\n// 将BD09墨卡托投影坐标系注册进OpenLayers\r\naddProjection(bd09Mercator);\r\n\r\n// 覆盖默认的转换方法\r\naddCoordinateTransforms('EPSG:4326', bd09Mercator, projzh.ll2bmerc, projzh.bmerc2ll);\r\naddCoordinateTransforms('EPSG:3857', bd09Mercator, projzh.smerc2bmerc, projzh.bmerc2smerc);\r\n\r\nconst getSource = () => {\r\n let bmercResolutions = new Array(19);\r\n for (let i = 0; i < 19; ++i) {\r\n bmercResolutions[i] = Math.pow(2, 18 - i);\r\n }\r\n let urls = [0, 1, 2, 3].map(function (sub) {\r\n return (\r\n '//maponline' +\r\n sub +\r\n '.bdimg.com/tile/?qt=vtile&x={x}&y={y}&z={z}&styles=pl&scaler=2&udt=20210506&from=jsapi3_0'\r\n );\r\n });\r\n\r\n return new XYZ({\r\n projection: 'BD-09',\r\n maxZoom: 18,\r\n crossOrigin: 'anonymous',\r\n tileUrlFunction: function (tileCoord) {\r\n let x = tileCoord[1];\r\n let y = -tileCoord[2] - 1;\r\n let z = tileCoord[0];\r\n let hash = (x << z) + y;\r\n let index = hash % urls.length;\r\n index = index < 0 ? index + urls.length : index;\r\n if (x < 0) {\r\n x = 'M' + -x;\r\n }\r\n if (y < 0) {\r\n y = 'M' + -y;\r\n }\r\n return urls[index]\r\n .replace('{x}', x)\r\n .replace('{y}', y)\r\n .replace('{z}', z);\r\n },\r\n tilePixelRatio: 2,\r\n tileGrid: new TileGrid({\r\n resolutions: bmercResolutions,\r\n origin: [0, 0],\r\n }),\r\n });\r\n};\r\n\r\n// 获取百度底图\r\nconst getLayer = ({ dark }) => {\r\n let mapLayer = new TileLayer({\r\n source: getSource(),\r\n className: dark && 'ol-map-dark',\r\n zIndex: 0\r\n });\r\n\r\n return [mapLayer];\r\n};\r\n\r\n// 转换方法\r\nconst transform = coordinate => {\r\n return transformProj(coordinate, 'EPSG:4326', 'BD-09');\r\n};\r\n\r\nexport default {\r\n mercator: bd09Mercator,\r\n transform,\r\n getSource,\r\n getLayer,\r\n};\r\n"],"mappings":"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"}
package/lib/map/index.js CHANGED
@@ -76,7 +76,8 @@ function Map(props) {
76
76
  autoView = _props$autoView === void 0 ? true : _props$autoView,
77
77
  _props$closePopupAuto = props.closePopupAutoView,
78
78
  closePopupAutoView = _props$closePopupAuto === void 0 ? true : _props$closePopupAuto,
79
- hidePopupTable = props.hidePopupTable;
79
+ hidePopupTable = props.hidePopupTable,
80
+ fitViewMaxZoom = props.fitViewMaxZoom;
80
81
  var _useState = (0, _react.useState)(false),
81
82
  _useState2 = _slicedToArray(_useState, 2),
82
83
  mapLoaded = _useState2[0],
@@ -511,9 +512,10 @@ function Map(props) {
511
512
  return;
512
513
  }
513
514
  var currentZoom = map.getView().getZoom();
515
+ var _maxZoom = fitViewMaxZoom || 16;
514
516
  map.getView().fit(extent, _objectSpread({
515
517
  padding: [100, 400, 100, 400],
516
- maxZoom: currentZoom > 16 ? currentZoom : 16,
518
+ maxZoom: currentZoom > _maxZoom ? currentZoom : _maxZoom,
517
519
  duration: 500
518
520
  }, options));
519
521
  } else {
@@ -598,7 +600,7 @@ function Map(props) {
598
600
  // 点击事件,通过属性传递
599
601
  map.on('click', /*#__PURE__*/function () {
600
602
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(event) {
601
- var features, layers, _features;
603
+ var features, _features2, _features2$, layers, _features;
602
604
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
603
605
  while (1) switch (_context2.prev = _context2.next) {
604
606
  case 0:
@@ -608,43 +610,53 @@ function Map(props) {
608
610
  map._clickObject = event;
609
611
  features = map.getFeaturesAtPixel(event.pixel) || [];
610
612
  if (map.analysisActive || map.toolboxActive) {
611
- _context2.next = 15;
613
+ _context2.next = 17;
612
614
  break;
613
615
  }
616
+ if (!((_features2 = features) !== null && _features2 !== void 0 && (_features2$ = _features2[0]) !== null && _features2$ !== void 0 && _features2$.isHighLight)) {
617
+ _context2.next = 8;
618
+ break;
619
+ }
620
+ return _context2.abrupt("return", registerEvent('onClick', features[0], event));
621
+ case 8:
614
622
  if (features.length) {
615
- _context2.next = 12;
623
+ _context2.next = 14;
616
624
  break;
617
625
  }
618
626
  layers = map.getWmsVisibleLayers().filter(function (layer) {
619
627
  return !layer.viewOnly;
620
628
  });
621
- _context2.next = 10;
629
+ _context2.next = 12;
622
630
  return (0, _layer2.getWMSFeatureInfoByLayers)(event, map, layers);
623
- case 10:
631
+ case 12:
624
632
  _features = _context2.sent;
625
633
  if (_features !== null && _features !== void 0 && _features.length) {
626
634
  features = [_features[0]];
627
635
  }
628
- case 12:
636
+ case 14:
629
637
  if (features.length) {
630
638
  registerEvent('onClick', features[0], event);
631
639
 
632
640
  // 过滤掉仅展示的图层
633
641
  features = features.filter(function (feature) {
634
642
  var layer = map.getLayerByFeature(feature);
635
- return layer && !layer.viewOnly && layer.template;
643
+ return layer && !layer.viewOnly;
636
644
  });
637
645
  if (features.length) {
638
646
  map.showTemplate(features);
647
+ } else {
648
+ map.hideTemplate();
639
649
  }
650
+ } else {
651
+ map.hideTemplate();
640
652
  }
641
- _context2.next = 16;
653
+ _context2.next = 18;
642
654
  break;
643
- case 15:
655
+ case 17:
644
656
  if (features.length) {
645
657
  registerEvent('onClick', features[0], event);
646
658
  }
647
- case 16:
659
+ case 18:
648
660
  case "end":
649
661
  return _context2.stop();
650
662
  }