@vtx/map 1.1.48 → 1.1.49
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.
- package/lib/VtxMap/AMap/AMap.js +6 -8
- package/lib/VtxMap/AMap/AMap.js.map +1 -1
- package/lib/VtxMap/BMap/Map.js +5 -8
- package/lib/VtxMap/BMap/Map.js.map +1 -1
- package/lib/VtxMap/GMap/Map.js +5 -7
- package/lib/VtxMap/GMap/Map.js.map +1 -1
- package/lib/VtxMap/OMap/Map.js +5 -7
- package/lib/VtxMap/OMap/Map.js.map +1 -1
- package/lib/VtxMap/OlMap/Map.js +38 -39
- package/lib/VtxMap/OlMap/Map.js.map +1 -1
- package/lib/VtxMap/TMap/TMap.js +5 -7
- package/lib/VtxMap/TMap/TMap.js.map +1 -1
- package/lib/VtxMap/optimizingPointMap.js +2 -2
- package/lib/VtxMap/optimizingPointMap.js.map +1 -1
- package/lib/VtxMap/zoomMap.js +2 -2
- package/lib/VtxMap/zoomMap.js.map +1 -1
- package/lib/VtxModal/VtxModal.js +2 -2
- package/lib/VtxModal/VtxModal.js.map +1 -1
- package/lib/VtxModal/draggableModal.js +2 -2
- package/lib/VtxModal/draggableModal.js.map +1 -1
- package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js +2 -2
- package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js.map +1 -1
- package/lib/VtxSearchMap/VtxSearchMap.js +5 -4
- package/lib/VtxSearchMap/VtxSearchMap.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.js","names":["_react","_interopRequireDefault","require","_default2","_MapToolFunction","_immutable","_lodash","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","from","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","Object","toString","slice","name","test","len","arr2","r","l","t","u","a","push","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","_toPropertyKey","key","_createClass","protoProps","staticProps","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","getPrototypeOf","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","Set","Immutable","OlMap","_React$Component","_super","_this","nextLayers","currentLayers","first","addLayers","item","map","coverage","includes","removeLayers","exist","olLayers","find","address","layer","setVisible","startsWith","type","addSuperMapLayer","addGeoServerLayer","addGeoServerImageLayer","indexOf","addTileLayer","JSON","parse","OL_SCREEN","layers","eval","initLayer","state","gis","addLayer","zIndexGraphics","htmlPointsId","pointCollectionId","Label","labelLayer","x","y","viewer","GM","graphicManage","getPolygonArea","loadTimer","animTimer","animCount","moveToTimer","drawToolbar","drawParam","editToolbar","editId","drawSource","drawVector","drawInfo","sketch","listener","scaleControl","pointLayers","mouseNowPosition","px","py","isCount","heatmap","clusterMarkers","clusterPs","clusterPt","morepoints","areaRestriction","movePoints","baseLayer","rangingTool","isRanging","line","points","distance","mapRangingTool","rangingTools","rangingInfo","helpTooltipElement","helpTooltip","measureTooltipElement","measureTooltip","deleteToolTipElement","deleteToolTip","continuePolygonMsg","continueLineMsg","drawElements","drawLayer","feature","draw","clusterInfo","clickFeature","clickResolution","hoverFeature","clusterSource","clusterHulls","clusters","clusterCircles","mapId","mapCreated","pointIds","lineIds","polygonIds","circleIds","editGraphic","boundaryInfo","drawIds","point","polyline","polygon","circle","rectangle","frameSelectProps","loadMapJs","loadMapComplete","Promise","resolve","reject","window","$","getScript","concat","configUrl","openlayerServerURL","PointCollection","mapServerURL","Client9","all","then","attr","rel","href","appendTo","init","createMap","ol","source","Vector","wrapX","initData","_t$props","mapPoints","mapLines","mapPolygons","mapCircles","mapVisiblePoints","mapCluster","mapPointCollection","heatMapData","setCenter","addPoint","addLine","addPolygon","addCircle","showControl","heatMapOverlay","cluster","setVisiblePoints","addPointCollection","setAreaRestriction","setState","event","status","overall_feature","dragAddMoveFlag","on","getTargetElement","classList","add","remove","evt","forEachFeatureAtPixel","pixel","getProperties","id","elementId","features","properties","element","clickGraphic","clickMap","getEventPixel","originalEvent","hit","hasFeatureAtPixel","style","cursor","values","mouseOverGraphic","dispatchEvent","mouseOutGraphic","dragMapStart","moveStart","zoom","dragMapEnd","moveEnd","zoomStart","setTimeout","zoomEnd","center","_t$props2","_t$props2$olProps","olProps","_t$props2$mapCenter","mapCenter","mapZoomLevel","minZoom","maxZoom","projection","olCoverage","VtxMap","parseFloat","Map","view","View","controls","control","defaults","rotate","attribution","loadLayers","initPropsForUser","getWMTS","options","url","params","sourceOptions","matrixIds","resolutions","tilegrid","WMTS","extent","tileSize","origin","proj","Projection","code","units","axisOrientation","format","matrixSet","tileGrid","_ref","_ref$params","_ref$sourceOptions","layerSource","XYZ","Tile","TileSuperMapRest","vectorSource","GeoJSON","join","strategy","loadingstrategy","bbox","_icon$","el","A","icon","mapIcon","Style","image","Icon","scale","src","stroke","Stroke","color","width","fill","Fill","formatUrl","param","split","json","toUpperCase","decodeURIComponent","_this$formatUrl","_this$formatUrl$param","ImageWMS","serverType","crossOrigin","ratio","VERSION","Image","getCenter","gt","getZoomLevel","showInfoWindow","hideInfoWindow","callback","frameSelect","clearFrameSelect","clearFrameSelectById","refresh","c","lng","lat","getView","animate","duration","setZoomLevel","z","getZoom","setZoom","_gis$getView$calculat","calculateExtent","getSize","_gis$getView$calculat2","xmin","ymin","xmax","ymax","doEdit","gc","getGraphic","gp","getGraphicParam","endEdit","interaction","Modify","hitDetection","addInteraction","geometry","cur","_cur$flatCoordinates","flatCoordinates","attributes","longitude","latitude","other","geometryType","mapLayer","oddList","evenList","index","path","_t$dealData","dealData","lnglatAry","_extent","paths","calculateDistance","_t$dealData2","rings","area","sketchCoords_","sketchCoords_2","radius","sphere","getDistance","Math","PI","pow","editGraphicChange","setGraphic","setGraphicParam","removeInteraction","parameter","data","Date","getTime","removeGraphic","splice","anchor","markerContentX","markerContentY","anchorXUnits","anchorYUnits","opacity","geometryFunction","stoke","lineWidth","lineDash","lineType","pellucidity","getRgbColor","Draw","createBox","_t$frameSelectProps$p","finishDrawing","getGeometry","_gc$flatCoordinates","isRepetition","updatePoint","config","height","updateLine","_t$dealData3","updatePolygon","_t$dealData4","getCoordinates","_t$dealData5","updateCircle","drawEnd","Function","closeDraw","vtxRangingTool","Circle","createHelpTooltip","createMeasureTooltip","createDeleteTooltip","tooltipCoord","coordinate","geom","lngLats","output","formatLength","getLastCoordinate","lnglats","innerHTML","setPosition","setOffset","className","Observable","unByKey","parentNode","removeChild","document","createElement","Overlay","offset","positioning","addOverlay","stopEvent","insertFirst","addEventListener","removeOverlay","removeLayer","round","getMapExtent","nowBounds","southWest","northEast","nowCenter","_gis$getSize","_gis$getSize2","mapSize","ary","fitView","g","displayRange","boundingExtent","fit","getFitView","ids","maxX","maxY","minX","minY","coord","boundsArry","getExtent","min","max","bounds","getCurrentCenter","gg","pts","parseDom","domStr","domObj","childNodes","d","getPixelFromCoordinate","_t$state$gis$getSize","_t$state$gis$getSize2","size","shape","VotexpointCollection","GMapLib","updatePointCollection","ds","ind","_t$state$gis$getSize3","_t$state$gis$getSize4","reDraw","clearPointCollection","clear","clearAllPointCollection","_ref2","_ref2$parameter","_ref2$data","message","warn","random","lineColor","lineOpacity","popupWindow","Popup","position","content","close","showPopup","removePopup","_this2","ps","psids","console","Feature","Point","cg","labelContent","labelPixelX","labelPixelY","zIndex","deg","txt","myImage","markerContent","nodes","clientX","clientY","pop","autoPanMargin","autoPan","canvasDataURL","base64","img","imgSize","canShowLabel","textStyle","textAlign","textBaseline","font","text","offsetX","offsetY","backgroundFill","padding","labelStyle","Text","setStyle","pointLayer","BAnimationType","marker","setAnimation","BMAP_ANIMATION_BOUNCE","BMAP_ANIMATION_DROP","_this3","dealPoint","overlay","getOverlayById","setElement","changed","rotation","setGeometry","requestIdleCallback","isEmpty","timer","clearTimeout","redrawText","_this4","ls","lsids","isHidden","LineString","lineLayer","itt","_this5","_this6","pgs","pgsids","Polygon","polygonLayer","_this7","ccsids","metersPerUnit","getProjection","getMetersPerUnit","circleRadius","circleLayer","graphic","html","removeFeature","removeGraphicParam","clearAll","getLayers","hMap","getSource","_t$state","cs","removeControl","ScaleLine","location","addControl","css","left","top","bottom","right","_t$dealData6","_et","setProperties","clearAreaRestriction","dealAreaRestriction","contains","_t$areaRestriction","xmin1","xmax1","ymin1","ymax1","_e$extent","xmin2","xmax2","ymin2","ymax2","ms","getMoreGraphic","getType","label","Cluster","minDistance","setSource","clusterHullStyle","clusterStyle","clusterCircleStyle","clusterMemberStyle","clusterMember","getStyle","getImage","getText","resolution","clusterMembers","get","centerCoordinates","generatePointsCircle","reduce","styles","coordinates","unshift","count","clusterCenter","circumference","legLength","angleStep","angle","cos","sin","originalFeatures","originalFeature","clearCluster","containsExtent","e1","e2","czIndex","append","getNode","equalsPoint","b","calculatePointsDistance","fp","ep","log","totalDistance","lngX","latX","dealLabelGraphics","tl","toScreen","lbl","pointAnimation","clearInterval","setInterval","symbol","yoffset","now","start","notation","xoffset","graphics","moveAnimation","waitTime","deleteTime","sort","nowMovePoints","deleteIndex","_nowMovePoints$_i","rx","ry","ddeg","_graphicsLayer","tx","ty","moveTo","lnglat","delay","autoRotation","urlright","urlleft","rotateDeg","isHave","sp","spLngLat","tan","atan","disy","bias","deepEqual","is","fromJS","dataMatch","oldData","newData","onlyOldData","subtract","toJS","onlyNewData","onlyOldIDs","onlyNewIDs","updateDataIDs","intersect","updatedData","replacedData","deletedDataIDs","oldID","addedData","dealAdd","ads","otherupds","dealUpdate","upds","otherads","render","_map","componentDidMount","componentWillReceiveProps","nextProps","prevProps","_t$state2","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","customizedBoundary","isOpenTrafficInfo","boundaryName","setCluster","isRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isclearAllPointCollection","isSetAreaRestriction","isClearAreaRestriction","isClearAll","oldMapPoints","newMapPoints","_t$dataMatch","_t$dealAdd","_t$dealUpdate","oldMapLines","newMapLines","_t$dataMatch2","_t$dealAdd2","_t$dealUpdate2","_iterator","_step","oldMapPolygons","newMapPolygons","_t$dataMatch3","_t$dealAdd3","_t$dealUpdate3","_iterator2","_step2","oldMapCircles","newMapCircles","_t$dataMatch4","_t$dealAdd4","_t$dealUpdate4","_iterator3","_step3","clearHeatMap","stringify","clickLngLat","temp","getFeatureInfo","_this8","sourceParam","getParams","getFeatureInfoUrl","getResolution","cql_filter","QUERY_LAYERS","INFO_FORMAT","REQUEST","FEATURE_COUNT","_this$formatUrl2","LAYERS","geoJsonFormat","fetch","_data$features","readFeatures","visible","gradient","heatData","weight","heatSource","Heatmap","blur","_e$pixel","info","componentWillUnmount","j","React","Component","_default","exports","_React$Component2","_super2","_this9","container","closeble","appendChild","animation","reg","newStr","toLowerCase","replace","parseInt","setAttribute","onload","that","w","h","quality","canvas","ctx","getContext","anw","createAttribute","nodeValue","anh","setAttributeNode","drawImage","toDataURL","module"],"sources":["VtxMap/OlMap/Map.js"],"sourcesContent":["import React from 'react';\r\n\r\n//公共地址配置\r\nimport configUrl from '../../default';\r\n\r\nimport { graphicManage, getPolygonArea } from '../MapToolFunction';\r\nimport Immutable from 'immutable';\r\nimport { isArray, isEmpty } from 'lodash';\r\nconst { Set } = Immutable;\r\n\r\nclass OlMap extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.zIndexGraphics = []; //需要放在最后的图元,zoom和pan时刷新dom到最后\r\n this.htmlPointsId = 'vtx_gmap_html_points'; //html点位容器id class管理\r\n this.pointCollectionId = 'vtx_gmap_html_pointCollection'; //海量点canvas点位容器id class管理\r\n this.Label = {}; //所有label 集合\r\n this.labelLayer = { x: 0, y: 0 }; //label图层 位置管理\r\n this.viewer = null;\r\n this.GM = new graphicManage(); //初始化 图元管理方法\r\n this.getPolygonArea = getPolygonArea;\r\n this.layer = null; //保存地图图层数据\r\n this.loadTimer = null; //初始化地图 load时延缓数据处理\r\n this.animTimer = {}; //点位跳动动画 定时集合\r\n this.animCount = {}; //点位跳动动画 定时计数\r\n this.moveToTimer = null; //moveTo时间对象\r\n this.drawToolbar = null; //地图绘制对象即interaction\r\n this.drawParam = {}; //缓存 绘制的数据\r\n this.editToolbar = null; //编辑对象\r\n this.editId = ''; //当前编辑的图元id\r\n this.drawSource = null;\r\n this.drawVector = null;\r\n // 图元绘制保存\r\n this.drawInfo = {\r\n sketch: null,\r\n listener: null,\r\n };\r\n this.scaleControl = null;\r\n this.pointLayers = [];\r\n this.mouseNowPosition = { x: 0, y: 0, px: 0, py: 0, isCount: false };\r\n this.heatmap = null; //热力图对象\r\n this.clusterMarkers = []; //聚合点位id数组\r\n this.clusterPs = []; //聚合集合点\r\n this.clusterPt = []; //地图中聚合点集合\r\n this.morepoints = []; //海量点集合\r\n this.areaRestriction = null; //区域限制数据\r\n this.movePoints = [];\r\n this.olLayers = []; // ol图层集合 {address:'', layer: ''}\r\n this.baseLayer = null; // 地图图层\r\n //是否绘制测距\r\n this.rangingTool = {\r\n isRanging: false, //是否开启状态\r\n line: {}, //线\r\n points: [], //点\r\n distance: 0, //测距长度\r\n mapRangingTool: null, //测距回调\r\n };\r\n this.rangingTools = {}; //测距点线缓存\r\n this.rangingInfo = {\r\n sketch: null,\r\n helpTooltipElement: null,\r\n helpTooltip: null,\r\n measureTooltipElement: null,\r\n measureTooltip: null,\r\n deleteToolTipElement: null,\r\n deleteToolTip: null,\r\n continuePolygonMsg: '点击继续绘制图形',\r\n continueLineMsg: '点击继续绘制线',\r\n listener: null,\r\n drawElements: [],\r\n drawLayer: null,\r\n feature: null,\r\n draw: null,\r\n }\r\n this.clusterInfo = {\r\n clickFeature: null,\r\n clickResolution: null,\r\n hoverFeature: null,\r\n clusterSource: null,\r\n clusterHulls: null,\r\n clusters: null,\r\n clusterCircles: null,\r\n };\r\n this.state = {\r\n gis: null, //地图对象\r\n mapId: props.mapId,\r\n mapCreated: false,\r\n pointIds: [], //地图上点的ids\r\n lineIds: [], //地图上线的ids\r\n polygonIds: [], //地图上面的ids\r\n circleIds: [], //地图上圆的ids\r\n editGraphic: '', //当前编辑完后图元所有数据\r\n boundaryInfo: [], //当前画出的边界线的id和区域名\r\n drawIds: {\r\n //绘制工具id集合\r\n point: [],\r\n polyline: [],\r\n polygon: [],\r\n circle: [],\r\n rectangle: [],\r\n },\r\n };\r\n this.frameSelectProps = {};\r\n this.loadMapJs();\r\n }\r\n // 引入ol样式\r\n loadMapJs() {\r\n this.loadMapComplete = new Promise((resolve, reject) => {\r\n if (window.OlMap) {\r\n resolve(window.OlMap);\r\n } else {\r\n $.getScript(`${configUrl.openlayerServerURL}/ol.js`, () => {\r\n let PointCollection = new Promise((resolve, reject) => {\r\n $.getScript(`${configUrl.mapServerURL}/GPointCollection.js`, () => {\r\n resolve();\r\n });\r\n });\r\n let Client9 = new Promise(function (resolve, reject) {\r\n $.getScript(`${configUrl.openlayerServerURL}/iclient-openlayers.min.js`, function () {\r\n resolve();\r\n });\r\n });\r\n Promise.all([PointCollection,Client9]).then(() => {\r\n resolve(window.OlMap);\r\n })\r\n });\r\n $.getScript(`${configUrl.openlayerServerURL}/bd09.js`);\r\n $.getScript(`${configUrl.openlayerServerURL}/olScreen.js`);\r\n $('<link>')\r\n .attr({\r\n rel: 'stylesheet',\r\n type: 'text/css',\r\n href:\r\n `${configUrl.openlayerServerURL}/ol.css`,\r\n })\r\n .appendTo('head');\r\n }\r\n });\r\n }\r\n // 初始化地圖\r\n init() {\r\n let t = this;\r\n // 创建地图\r\n t.createMap();\r\n t.drawSource = new ol.source.Vector({ wrapX: false });\r\n t.drawVector = new ol.layer.Vector({ source: t.drawSource });\r\n let initData = () => {\r\n const {\r\n mapPoints,\r\n mapLines,\r\n mapPolygons,\r\n mapCircles,\r\n mapVisiblePoints,\r\n mapCluster,\r\n mapPointCollection,\r\n areaRestriction,\r\n heatMapData\r\n } = t.props;\r\n // 初始化中心点\r\n t.setCenter();\r\n // 添加点\r\n if (mapPoints instanceof Array) {\r\n t.addPoint(mapPoints);\r\n }\r\n //添加线\r\n if (mapLines instanceof Array) {\r\n t.addLine(mapLines);\r\n }\r\n //添加面\r\n if (mapPolygons instanceof Array) {\r\n t.addPolygon(mapPolygons);\r\n }\r\n //添加圆\r\n if (mapCircles instanceof Array) {\r\n t.addCircle(mapCircles);\r\n }\r\n //是否设置比例尺\r\n if (t.props.showControl) {\r\n t.showControl(t.props);\r\n }\r\n // 画热力图\r\n if (heatMapData) {\r\n t.heatMapOverlay(heatMapData);\r\n }\r\n //设置点聚合\r\n if (mapCluster instanceof Array) {\r\n t.cluster(mapCluster);\r\n }\r\n /*设置指定图元展示*/\r\n if (mapVisiblePoints) {\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n //添加海量点\r\n if (mapPointCollection instanceof Array) {\r\n t.addPointCollection(mapPointCollection);\r\n }\r\n //设置区域限制\r\n if (areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]) {\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n t.setState({\r\n mapCreated: true,\r\n });\r\n };\r\n let event = (e, status) => {\r\n const { gis } = t.state;\r\n let overall_feature = null; //鼠标移入事件时记录当前的feature,为鼠标移出要素时保存操作的要素对象\r\n let dragAddMoveFlag = false; //记录地图拖拽和移动事件\r\n // 地图开始加载时\r\n gis.on('loadstart', function () {\r\n gis.getTargetElement().classList.add('spinner');\r\n });\r\n // 地图加载结束时\r\n gis.on('loadend', function () {\r\n gis.getTargetElement().classList.remove('spinner');\r\n });\r\n // 地图双击事件\r\n gis.on('dbclick', evt => { });\r\n // 地图点击事件\r\n gis.on('singleclick', evt => {\r\n let feature = gis.forEachFeatureAtPixel(evt.pixel, feature => feature);\r\n if (feature) {\r\n let target = feature.getProperties();\r\n let id = ''\r\n let elementId = ''\r\n if (isArray(target.features)) { // 处理聚合点击\r\n const properties = target.features[0].getProperties();\r\n id = properties.id;\r\n elementId = properties.id;\r\n target = target.features\r\n } else {\r\n id = target.id;\r\n elementId = target.element\r\n }\r\n // top: e.clientY,//当前点所在的位置(屏幕)\r\n // left: e.clientX,\r\n t.clickGraphic(id || elementId, evt, target);\r\n } else {\r\n t.clickMap(evt);\r\n }\r\n });\r\n // 鼠标移动事件 - 当鼠标指向要素时改变光标状态\r\n gis.on('pointermove', evt => {\r\n let pixel = gis.getEventPixel(evt.originalEvent);\r\n let hit = gis.hasFeatureAtPixel(pixel);\r\n gis.getTargetElement().style.cursor = hit ? 'pointer' : 'default';\r\n // 获取到当前鼠标移动下的feature\r\n let feature = gis.forEachFeatureAtPixel(pixel, function (feature, layer) {\r\n return feature;\r\n });\r\n if (feature) {\r\n overall_feature = feature;\r\n let values = feature.getProperties();\r\n t.mouseOverGraphic(values.id, evt);\r\n } else {\r\n if (overall_feature) {\r\n overall_feature.dispatchEvent({ type: 'mousein', event: evt });\r\n let values = overall_feature.getProperties();\r\n t.mouseOutGraphic(values.id, evt);\r\n overall_feature = null;\r\n }\r\n }\r\n });\r\n // 鼠标拖拽事件 - 拖拽开始即是地图移动开始\r\n gis.on('pointerdrag', evt => {\r\n dragAddMoveFlag = true;\r\n t.dragMapStart(evt);\r\n t.moveStart(evt);\r\n });\r\n let zoom = 0;\r\n // 地图移动事件 - 移动结束即是拖拽事件结束 也是地图缩放事件(无开始和结束事件)的监听\r\n gis.on('moveend', evt => {\r\n t.dragMapEnd(evt);\r\n t.moveEnd(evt);\r\n t.zoomStart(evt);\r\n setTimeout(() => {\r\n t.zoomEnd(evt);\r\n }, 300);\r\n dragAddMoveFlag = false;\r\n });\r\n // gis.getViewport().addEventListener('mouseout', function () {\r\n // helpTooltipElement.classList.add('hidden');\r\n // });\r\n };\r\n event();\r\n t.setCenter(t.props.center);\r\n initData();\r\n }\r\n // 创建地图\r\n createMap() {\r\n let t = this;\r\n let {\r\n olProps={},\r\n mapCenter = [],\r\n mapId,\r\n mapZoomLevel,\r\n minZoom,\r\n maxZoom,\r\n } = t.props;\r\n let {\r\n projection, // 坐标投影类型 EPSG:4326和EPSG:3857,百度图层使用自定义的'BD:09'\r\n olCoverage\r\n } = olProps;\r\n if(window.VtxMap){\r\n window.VtxMap[mapId]= null;\r\n }else{\r\n window.VtxMap = {};\r\n }\r\n if(!minZoom){\r\n minZoom = 2\r\n }\r\n if(!maxZoom){\r\n maxZoom = 19\r\n }\r\n if(!projection){\r\n projection = 'EPSG:4326'\r\n }\r\n //中心点\r\n let center = mapCenter && mapCenter instanceof Array && mapCenter.length == 2\r\n ? mapCenter\r\n : [116.400433, 39.906705];\r\n center = [parseFloat(center[0]), parseFloat(center[1])];\r\n window.VtxMap[mapId] = t.state.gis = new ol.Map({\r\n target: mapId.toString(),\r\n view: new ol.View({\r\n center: center, \r\n zoom: mapZoomLevel || 10,\r\n projection,\r\n minZoom,\r\n maxZoom,\r\n }),\r\n controls: ol.control.defaults({\r\n zoom: false,\r\n rotate: false,\r\n attribution: false\r\n }),\r\n });\r\n // 基本地图视图\r\n t.viewer = new ol.View({\r\n center: center, \r\n zoom: mapZoomLevel || 10,\r\n projection,\r\n minZoom,\r\n maxZoom,\r\n })\r\n t.loadLayers(olCoverage, [], true);\r\n t.initPropsForUser();\r\n }\r\n\r\n // 加载图层\r\n loadLayers = (nextLayers = [], currentLayers = [], first = false) => {\r\n const t = this;\r\n // 对比图层的变化,找出需要新增和需要删除的。\r\n const addLayers = nextLayers.filter(item => {\r\n return !currentLayers.map(e => e.coverage).includes(item.coverage)\r\n });\r\n const removeLayers = currentLayers.filter(item => {\r\n return !nextLayers.map(e => e.coverage).includes(item.coverage)\r\n })\r\n if(removeLayers.length > 0) {\r\n removeLayers.forEach(item => {\r\n const exist = t.olLayers.find(e => e.address === item.coverage);\r\n exist && exist.layer.setVisible(false);\r\n })\r\n }\r\n if (addLayers.length > 0) {\r\n addLayers.map(item => {\r\n if(\r\n item.coverage.startsWith(\"http\") || \r\n item.coverage.startsWith('/')\r\n ){\r\n switch(item.type) {\r\n // 超图\r\n case 'superMap':\r\n t.addSuperMapLayer(item.coverage);\r\n break;\r\n // geoServer_geoJSON\r\n case 'geoServer':\r\n t.addGeoServerLayer(item.coverage);\r\n // geoServer_image\r\n case 'geoServer_image':\r\n t.addGeoServerImageLayer(item);\r\n default:\r\n break;\r\n }\r\n }else if(item.coverage.indexOf(\"WMTS\")>-1){\r\n t.addTileLayer(JSON.parse(item.coverage));\r\n }else if (OL_SCREEN[item.coverage]) {\r\n if(first) {\r\n let layers = eval(OL_SCREEN[item.coverage].initLayer);\r\n if(isArray(layers)){\r\n layers.map(layer=>{\r\n t.state.gis.addLayer(layer);\r\n })\r\n }else {\r\n t.state.gis.addLayer(layers);\r\n }\r\n }\r\n }\r\n })\r\n } else {\r\n if(first) {\r\n let layer = eval(OL_SCREEN.default.initLayer);\r\n t.state.gis.addLayer(layer);\r\n }\r\n }\r\n }\r\n\r\n // wmts图层资源\r\n getWMTS(options) {\r\n const { url, params, sourceOptions } = options;\r\n \r\n //切片名\r\n let matrixIds = [\r\n 'EPSG:4326:0',\r\n 'EPSG:4326:1',\r\n 'EPSG:4326:2',\r\n 'EPSG:4326:3',\r\n 'EPSG:4326:4',\r\n 'EPSG:4326:5',\r\n 'EPSG:4326:6',\r\n 'EPSG:4326:7',\r\n 'EPSG:4326:8',\r\n 'EPSG:4326:9',\r\n 'EPSG:4326:10',\r\n 'EPSG:4326:11',\r\n 'EPSG:4326:12',\r\n 'EPSG:4326:13',\r\n 'EPSG:4326:14',\r\n 'EPSG:4326:15',\r\n 'EPSG:4326:16',\r\n 'EPSG:4326:17',\r\n 'EPSG:4326:18',\r\n ];\r\n \r\n //分辨率\r\n let resolutions = [\r\n 0.703125,\r\n 0.3515625,\r\n 0.17578125,\r\n 0.087890625,\r\n 0.0439453125,\r\n 0.02197265625,\r\n 0.010986328125,\r\n 0.0054931640625,\r\n 0.00274658203125,\r\n 0.001373291015625,\r\n 6.866455078125e-4,\r\n 3.4332275390625e-4,\r\n 1.71661376953125e-4,\r\n 8.58306884765625e-5,\r\n 4.291534423828125e-5,\r\n 2.1457672119140625e-5,\r\n 1.0728836059570312e-5,\r\n 5.364418029785156e-6,\r\n 2.682209014892578e-6,\r\n ];\r\n \r\n //切片策略\r\n let tilegrid = new ol.tilegrid.WMTS({\r\n extent: [-180.0, -90.0, 180.0, 90.0], //范围\r\n tileSize: [256, 256],\r\n origin: [-180.0, 90.0], //切片原点\r\n resolutions: resolutions, //分辨率\r\n matrixIds: matrixIds, //层级标识列表,与地图级数保持一致\r\n });\r\n \r\n //设置地图投影\r\n let projection = new ol.proj.Projection({\r\n code: 'EPSG:4326',\r\n units: 'degrees',\r\n axisOrientation: 'neu',\r\n });\r\n \r\n return new ol.source.WMTS({\r\n url: url,\r\n layer: params?.layer,\r\n format: 'image/png',\r\n matrixSet: 'EPSG:4326',\r\n projection: projection,\r\n tileGrid: tilegrid,\r\n ...sourceOptions,\r\n });\r\n }\r\n \r\n // 添加普通图层\r\n addTileLayer({url,params={}, sourceOptions={}, type, source}){\r\n if(url){\r\n const exist = this.olLayers.find(item => item.address === url);\r\n if(exist) {\r\n exist.layer.setVisible(true);\r\n return;\r\n }\r\n let layerSource = source || (type==='WMTS'?\r\n this.getWMTS({url,params,sourceOptions})\r\n : new ol.source.XYZ({\r\n url,\r\n ...sourceOptions,\r\n })\r\n )\r\n const layer = new ol.layer.Tile({\r\n source: layerSource\r\n });\r\n\r\n // 将图层添加到地图上\r\n this.state.gis.addLayer(layer);\r\n this.olLayers.push({\r\n address: url,\r\n layer\r\n });\r\n }\r\n }\r\n // 添加超图图层\r\n addSuperMapLayer(url) {\r\n const exist = this.olLayers.find(item => item.address === url);\r\n if(exist) {\r\n exist.layer.setVisible(true);\r\n return;\r\n }\r\n\r\n const layer = new ol.layer.Tile({\r\n source: new ol.source.TileSuperMapRest({\r\n url\r\n })\r\n });\r\n // 将图层添加到地图上\r\n this.state.gis.addLayer(layer);\r\n this.olLayers.push({\r\n address: url,\r\n layer\r\n });\r\n }\r\n // 添加geoServer_geoJSON图层\r\n addGeoServerLayer(url) {\r\n const exist = this.olLayers.find(item => item.address === url);\r\n if(exist) {\r\n exist.layer.setVisible(true);\r\n return;\r\n }\r\n\r\n // 矢量数据源\r\n const vectorSource = new ol.source.Vector({\r\n // 设置格式化类型\r\n format: new ol.format.GeoJSON(),\r\n\r\n // url(extent) 在地图范围变化时调用,返回当前的地图范围\r\n url: function (extent) {\r\n return `${url}&bbox=${extent.join(',')}`;\r\n },\r\n strategy: ol.loadingstrategy.bbox,\r\n });\r\n\r\n // 矢量图层\r\n const layer = new ol.layer.Vector({\r\n // 设置数据源\r\n source: vectorSource,\r\n // 设置图层样式也可以 function (feature) { /** 根据内容动态加载样式 **/ return Style}\r\n style: function(feature) {\r\n const el = feature.A || {};\r\n const icon = JSON.parse(el.icon || '[]');\r\n let mapIcon = icon[0]?.id\r\n ? `/cloudFile/common/downloadFile?id=${icon[0].id}`\r\n : require(\"../images/defaultMarker.png\");\r\n return new ol.style.Style({\r\n // 点位图标\r\n image: new ol.style.Icon({\r\n scale: 1,\r\n src: mapIcon,\r\n }),\r\n // 线样式\r\n stroke: new ol.style.Stroke({\r\n color: el.color || '#1890ff',\r\n width: 4\r\n }),\r\n // 面样式\r\n fill: new ol.style.Fill({\r\n color: el.color || 'rgba(255,255,255, 0.5)'\r\n })\r\n })\r\n },\r\n });\r\n // 将图层添加到地图上\r\n this.state.gis.addLayer(layer);\r\n this.olLayers.push({\r\n address: url,\r\n layer\r\n });\r\n }\r\n formatUrl(url){\r\n let param = {},address=url.split(\"?\")[0];\r\n url.split(\"?\")[1].split(\"&\").map(item=>{\r\n let json = item.split(\"=\")\r\n param[json[0].toUpperCase()] = json[1]?decodeURIComponent(json[1]):'';\r\n })\r\n return {param,address}\r\n }\r\n // 添加geoServer_image图层\r\n addGeoServerImageLayer(item) {\r\n let url = item.coverage;\r\n const exist = this.olLayers.find(item => item.address === url);\r\n if(exist) {\r\n exist.layer.setVisible(true);\r\n return;\r\n }\r\n let {param={},address} = this.formatUrl(url);\r\n // 矢量数据源\r\n const vectorSource = new ol.source.ImageWMS({\r\n url: address,\r\n serverType: 'geoserver',\r\n crossOrigin: '*',\r\n ratio: 1,\r\n params: {\r\n VERSION: '1.1.0',\r\n ...(item.param||{}),\r\n ...param,\r\n },\r\n });\r\n\r\n // 矢量图层\r\n const layer = new ol.layer.Image({\r\n // 设置数据源\r\n source: vectorSource,\r\n });\r\n // 将图层添加到地图上\r\n this.state.gis.addLayer(layer);\r\n this.olLayers.push({\r\n address: url,\r\n layer,\r\n source: vectorSource\r\n });\r\n }\r\n // 初始化对外方法\r\n initPropsForUser(){\r\n const t = this;\r\n t.state.gis[\"getCenter\"] = () => {\r\n return t.getCenter();\r\n }\r\n t.state.gis[\"setCenter\"] = (gt) => {\r\n t.setCenter(gt);\r\n }\r\n t.state.gis[\"getZoomLevel\"] = () => {\r\n return t.getZoomLevel();\r\n }\r\n t.state.gis[\"showInfoWindow\"] = (obj) => {\r\n return t.showInfoWindow(obj);\r\n }\r\n t.state.gis[\"hideInfoWindow\"] = () => {\r\n return t.hideInfoWindow();\r\n }\r\n t.state.gis[\"frameSelect\"] = (obj={},callback) => {\r\n return t.frameSelect(obj,callback);\r\n }\r\n t.state.gis[\"clearFrameSelect\"] = () => {\r\n return t.clearFrameSelect();\r\n }\r\n t.state.gis[\"clearFrameSelectById\"] = (id) => {\r\n return t.clearFrameSelectById(id);\r\n }\r\n t.state.gis[\"refresh\"] = () => {\r\n t.refresh();\r\n }\r\n }\r\n // 设置中心点\r\n setCenter(gt) {\r\n let t = this;\r\n if(!t.state.gis){\r\n return;\r\n }\r\n if (gt) {\r\n //经纬度 必须存在 否则不操作\r\n if (!gt[0] || !gt[1]) {\r\n return false;\r\n }\r\n //如果设置的经纬度 与当前中心点一样 不操作\r\n let c = t.getCenter();\r\n if (c.lng == gt[0] && c.lat == gt[1]) {\r\n return false;\r\n }\r\n t.state.gis.getView().setCenter(gt);\r\n t.viewer.animate({\r\n center: gt,\r\n duration: 2000,\r\n });\r\n }\r\n }\r\n //设置地图缩放层级\r\n setZoomLevel (zoom) {\r\n let t =this;\r\n let z = t.state.gis.getView().getZoom();\r\n if(z == zoom){\r\n return false;\r\n }\r\n t.state.gis.getView().setZoom(zoom)\r\n }\r\n //获取当前中心点\r\n getCenter() {\r\n let t = this;\r\n const { gis } = t.state;\r\n let [xmin, ymin, xmax, ymax] = gis.getView().calculateExtent(gis.getSize());\r\n return { lng: (xmin + xmax) / 2, lat: (ymin + ymax) / 2 };\r\n }\r\n //编辑图元\r\n doEdit(id) {\r\n let t = this;\r\n //获取图元对象\r\n let gc = t.GM.getGraphic(id);\r\n let gp = t.GM.getGraphicParam(id);\r\n if (!gc) return false;\r\n //关闭先前编辑的图元\r\n if (!!t.state.editId) {\r\n t.endEdit();\r\n }\r\n if (!t.editToolbar) {\r\n t.editToolbar = new ol.interaction.Modify({\r\n source: gp.source,\r\n hitDetection: true\r\n });\r\n t.state.gis.addInteraction(t.editToolbar)\r\n }else{\r\n t.state.gis.addInteraction(t.editToolbar)\r\n }\r\n t.editToolbar.on('modifyend', function (e) {\r\n let feature = gc;\r\n e.features.forEach(function (feature) {\r\n feature = feature\r\n })\r\n //返回参数\r\n let param = {\r\n id,\r\n e,\r\n };\r\n // 绘制内部管理的图元\r\n if (gp.geometry.type == 'point') {\r\n let cur = feature.getProperties().geometry;\r\n const [lng, lat] = cur.flatCoordinates;\r\n //处理点返回参数\r\n param = {\r\n ...param,\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n other: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n }\r\n },\r\n param: {\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n other: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n }\r\n },\r\n geometryType: gp.geometry.type,\r\n mapLayer: t.GM.getGraphic(id)\r\n },\r\n geometryType: gp.geometry.type,\r\n geometry: {\r\n type: 'point',\r\n x: lng,\r\n y: lat,\r\n },\r\n }\r\n }\r\n //线\r\n if (gp.geometry.type == 'polyline') {\r\n let cur = feature.getProperties().geometry;\r\n let oddList = [], evenList = [];\r\n cur.flatCoordinates.map((item, index) => {\r\n // 判断下标奇偶数\r\n if (index % 2 === 0) {\r\n evenList.push(item)\r\n } else {\r\n oddList.push(item)\r\n }\r\n })\r\n let path = oddList.map((item, index) => {\r\n return [evenList[index], oddList[index]]\r\n })\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n ...param,\r\n attributes: {\r\n ...gp.attributes,\r\n paths: path,\r\n other: {\r\n ...gp.attributes,\r\n paths: path,\r\n }\r\n },\r\n param: {\r\n attributes: {\r\n ...gp.attributes,\r\n paths: path,\r\n other: {\r\n ...gp.attributes,\r\n paths: path,\r\n }\r\n },\r\n geometry: {\r\n paths: path,\r\n _extent,\r\n type: \"polyline\",\r\n },\r\n geometryType: 'polyline',\r\n lnglatAry,\r\n mapLayer: t.GM.getGraphic(id)\r\n },\r\n geometryType: gp.geometry.type,\r\n geometry: {\r\n paths: path,\r\n _extent,\r\n type: \"polyline\",\r\n },\r\n distance: t.calculateDistance(path),\r\n }\r\n }\r\n //面\r\n if (gp.geometry.type == 'polygon') {\r\n let cur = feature.getProperties().geometry;\r\n let oddList = [], evenList = [];\r\n cur.flatCoordinates.map((item, index) => {\r\n // 判断下标奇偶数\r\n if (index % 2 === 0) {\r\n evenList.push(item)\r\n } else {\r\n oddList.push(item)\r\n }\r\n })\r\n let path = oddList.map((item, index) => {\r\n return [evenList[index], oddList[index]]\r\n })\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n ...param,\r\n attributes: {\r\n ...gp.attributes,\r\n rings: path,\r\n other: {\r\n ...gp.attributes,\r\n paths: path,\r\n }\r\n },\r\n param: {\r\n attributes: {\r\n ...gp.attributes,\r\n rings: path,\r\n other: {\r\n ...gp.attributes,\r\n paths: path,\r\n }\r\n },\r\n geometry: {\r\n rings: path,\r\n type: 'polygon',\r\n _extent\r\n },\r\n geometryType: 'polygon',\r\n lnglatAry,\r\n mapLayer: t.GM.getGraphic(id)\r\n },\r\n geometryType: gp.geometry.type,\r\n geometry: {\r\n rings: path,\r\n type: 'polygon',\r\n _extent\r\n },\r\n area: getPolygonArea(path),\r\n }\r\n }\r\n if (gp.geometry.type == 'circle') {\r\n let cur = feature.getProperties().geometry;\r\n let center = cur.getCenter();\r\n let sketchCoords_ = [cur.flatCoordinates[0], cur.flatCoordinates[1]];\r\n let sketchCoords_2 = [cur.flatCoordinates[2], cur.flatCoordinates[3]];\r\n let radius = ol.sphere.getDistance(sketchCoords_, sketchCoords_2);\r\n param = {\r\n ...param,\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius,\r\n other: {\r\n ...gp.attributes,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius,\r\n }\r\n },\r\n param: {\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius,\r\n other: {\r\n ...gp.attributes,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius,\r\n }\r\n },\r\n geometry: {\r\n x: center[0],\r\n y: center[1],\r\n radius,\r\n type: 'circle',\r\n },\r\n geometryType: 'circle',\r\n mapLayer: t.GM.getGraphic(id)\r\n },\r\n geometryType: gp.geometry.type,\r\n area: Math.PI * Math.pow(radius, 2),\r\n geometry: {\r\n type: 'circle',\r\n x: center[0],\r\n y: center[1],\r\n radius\r\n }\r\n }\r\n }\r\n if ('editGraphicChange' in t.props && typeof (t.props.editGraphicChange) == 'function') {\r\n t.props.editGraphicChange(param);\r\n }\r\n t.GM.setGraphic(id, feature)\r\n .setGraphicParam(id, { ...param, source: gp.source });\r\n })\r\n t.editId = id;\r\n }\r\n //关闭编辑\r\n endEdit() {\r\n let t = this;\r\n if (t.editToolbar) {\r\n t.state.gis.removeInteraction(t.editToolbar);\r\n t.editToolbar = null;\r\n }\r\n t.editId = '';\r\n }\r\n // 绘制图元\r\n draw(obj) {\r\n let t = this;\r\n const { drawInfo } = t;\r\n const { gis } = t.state;\r\n let drawParam = {}, image, stroke, fill;\r\n //初始化参数\r\n drawParam.geometryType = obj.geometryType || 'point';\r\n drawParam.parameter = obj.parameter ? { ...obj.parameter } : {};\r\n drawParam.data = obj.data ? { ...obj.data } : {};\r\n drawParam.data.id = (obj.data || {}).id || `draw${new Date().getTime()}`;\r\n //缓存 绘制的数据\r\n t.drawParam = drawParam;\r\n //判断id是否存在\r\n let len = t.state.drawIds[drawParam.geometryType].indexOf(drawParam.data.id);\r\n if (len > -1) {\r\n //如果id存在 删除存在的图元,清除drawId中的id数据\r\n t.removeGraphic(drawParam.data.id);\r\n t.state.drawIds[drawParam.geometryType].splice(len, 1);\r\n }\r\n let type = 'Point', style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [-drawParam.parameter.markerContentX || -15, -drawParam.parameter.markerContentY || -15],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n src: drawParam.parameter.url || require(\"../images/defaultMarker.png\"),\r\n opacity: 1,\r\n scale: drawParam.parameter.scale || 1,\r\n })\r\n });\r\n let geometryFunction;\r\n switch (drawParam.geometryType) {\r\n case 'point':\r\n type = 'Point';\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [-drawParam.parameter.markerContentX || -15, -drawParam.parameter.markerContentY || -15],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n src: drawParam.parameter.url || require(\"../images/defaultMarker.png\"),\r\n opacity: 1,\r\n scale: drawParam.parameter.scale || 1,\r\n })\r\n })\r\n break;\r\n case 'polyline':\r\n type = 'LineString';\r\n style = new ol.style.Style({\r\n stoke: new ol.style.Stroke({\r\n color: drawParam.parameter.color || '#277ffa',\r\n width: drawParam.parameter.lineWidth || 3,\r\n lineDash: drawParam.parameter.lineType == 'dashed' ? [2] : undefined,\r\n })\r\n })\r\n break;\r\n case 'polygon':\r\n type = 'Polygon';\r\n style = new ol.style.Style({\r\n stoke: new ol.style.Stroke({\r\n color: drawParam.parameter.color || '#277ffa',\r\n width: drawParam.parameter.lineWidth || 3,\r\n lineDash: drawParam.parameter.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: drawParam.parameter.pellucidity ?\r\n getRgbColor(drawParam.parameter.color || '#277ffa', drawParam.parameter.pellucidity) :\r\n drawParam.parameter.color || '#277ffa',\r\n })\r\n })\r\n break;\r\n case 'rectangle':\r\n type = 'Circle';\r\n geometryFunction = ol.interaction.Draw.createBox();\r\n break;\r\n case 'circle':\r\n type = 'Circle';\r\n style = new ol.style.Style({\r\n stoke: new ol.style.Stroke({\r\n color: drawParam.parameter.color || '#277ffa',\r\n width: drawParam.parameter.lineWidth || 3,\r\n lineDash: drawParam.parameter.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: drawParam.parameter.pellucidity ?\r\n getRgbColor(drawParam.parameter.color || '#277ffa', drawParam.parameter.pellucidity) :\r\n drawParam.parameter.color || '#277ffa',\r\n })\r\n })\r\n break;\r\n }\r\n if (!t.drawToolbar) {\r\n t.drawToolbar = new ol.interaction.Draw({\r\n source: t.drawSource,\r\n type: type,\r\n geometryFunction: geometryFunction\r\n // style: style\r\n });\r\n gis.addInteraction(t.drawToolbar);\r\n }else{\r\n gis.addInteraction(t.drawToolbar);\r\n }\r\n t.drawToolbar.on('drawend', function (e) {\r\n // 关闭绘制事件\r\n t.drawToolbar.finishDrawing();\r\n // 移除\r\n gis.removeInteraction(t.drawToolbar)\r\n let gc = e.feature.getGeometry();\r\n //返回参数\r\n let param = {};\r\n // 绘制内部管理的图元\r\n if (t.drawParam.geometryType == 'point') {\r\n const [lng, lat] = gc.flatCoordinates;\r\n gc.x = lng;\r\n gc.y = lat;\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updatePoint(\r\n [\r\n {\r\n id: t.drawParam.data.id,\r\n longitude: lng,\r\n latitude: lat,\r\n url:\r\n t.drawParam.parameter.url ||\r\n require(\"../images/defaultMarker.png\"),\r\n config: {\r\n ...t.drawParam.parameter,\r\n },\r\n },\r\n ],\r\n \"point\"\r\n );\r\n }else{\r\n t.addPoint([{\r\n id: t.drawParam.data.id,\r\n longitude: lng,\r\n latitude: lat,\r\n url: t.drawParam.parameter.url || require(\"../images/defaultMarker.png\"),\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], 'point');\r\n }\r\n \r\n //处理点返回参数\r\n param = {\r\n id: t.drawParam.data.id,\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n url: t.drawParam.parameter.url || require(\"../images/defaultMarker.png\"),\r\n config: {\r\n width: t.drawParam.parameter.width || 30,\r\n height: t.drawParam.parameter.height || 30\r\n }\r\n },\r\n geometry: gc,\r\n geometryType: 'point',\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n //线\r\n if (t.drawParam.geometryType == 'polyline') {\r\n let oddList = [], evenList = [];\r\n gc.flatCoordinates.map((item, index) => {\r\n // 判断下标奇偶数\r\n if (index % 2 === 0) {\r\n evenList.push(item)\r\n } else {\r\n oddList.push(item)\r\n }\r\n })\r\n let path = oddList.map((item, index) => {\r\n return [evenList[index], oddList[index]]\r\n })\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updateLine([{\r\n id: t.drawParam.data.id,\r\n paths: path,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], 'polyline');\r\n }else{\r\n t.addLine([{\r\n id: t.drawParam.data.id,\r\n paths: path,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], 'polyline');\r\n }\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n lnglatAry,\r\n id: t.drawParam.data.id,\r\n geometry: {\r\n ...e.geometry,\r\n paths: path,\r\n _extent\r\n },\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n },\r\n distance: t.calculateDistance(path),\r\n geometryType: 'polyline',\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n //面\r\n if (t.drawParam.geometryType == 'polygon') {\r\n let oddList = [], evenList = [];\r\n gc.flatCoordinates.map((item, index) => {\r\n // 判断下标奇偶数\r\n if (index % 2 === 0) {\r\n evenList.push(item)\r\n } else {\r\n oddList.push(item)\r\n }\r\n })\r\n let path = oddList.map((item, index) => {\r\n return [evenList[index], oddList[index]]\r\n })\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updatePolygon(\r\n [\r\n {\r\n id: t.drawParam.data.id,\r\n rings: path,\r\n config: {\r\n ...t.drawParam.parameter,\r\n },\r\n },\r\n ],\r\n t.drawParam.geometryType\r\n );\r\n }else{\r\n t.addPolygon([{\r\n id: t.drawParam.data.id,\r\n rings: path,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], t.drawParam.geometryType);\r\n }\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n lnglatAry,\r\n id: t.drawParam.data.id,\r\n geometry: {\r\n ...e.geometry,\r\n rings: path,\r\n type: t.drawParam.geometryType,\r\n _extent\r\n },\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n },\r\n area: getPolygonArea(path),\r\n geometryType: t.drawParam.geometryType,\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n if (t.drawParam.geometryType == 'rectangle') {\r\n let path = e.feature.getGeometry().getCoordinates()[0];\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updatePolygon(\r\n [\r\n {\r\n id: t.drawParam.data.id,\r\n rings: path,\r\n config: {\r\n ...t.drawParam.parameter,\r\n },\r\n },\r\n ],\r\n t.drawParam.geometryType\r\n );\r\n }else{\r\n t.addPolygon([{\r\n id: t.drawParam.data.id,\r\n rings: path,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], t.drawParam.geometryType);\r\n }\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n lnglatAry,\r\n id: t.drawParam.data.id,\r\n geometry: {\r\n ...e.geometry,\r\n rings: path,\r\n type: t.drawParam.geometryType,\r\n _extent\r\n },\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n },\r\n area: getPolygonArea(path),\r\n geometryType: t.drawParam.geometryType,\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n if (t.drawParam.geometryType == 'circle') {\r\n let center = e.feature.getGeometry().getCenter();\r\n let cur = e.feature.getProperties().geometry;\r\n let sketchCoords_ = [cur.flatCoordinates[0], cur.flatCoordinates[1]];\r\n let sketchCoords_2 = [cur.flatCoordinates[2], cur.flatCoordinates[3]];\r\n let radius = ol.sphere.getDistance(sketchCoords_, sketchCoords_2);\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updateCircle(\r\n [\r\n {\r\n id: t.drawParam.data.id,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius: radius,\r\n config: {\r\n ...t.drawParam.parameter,\r\n },\r\n },\r\n ],\r\n t.drawParam.geometryType\r\n );\r\n }else{\r\n t.addCircle([{\r\n id: t.drawParam.data.id,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius: radius,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], t.drawParam.geometryType);\r\n }\r\n param = {\r\n area: Math.PI * Math.pow(radius, 2),\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n },\r\n geometry: {\r\n type: t.drawParam.geometryType,\r\n x: center[0],\r\n y: center[1],\r\n radius\r\n },\r\n geometryType: t.drawParam.geometryType,\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n if ('drawEnd' in t.props && typeof (t.props.drawEnd) == 'function') {\r\n t.props.drawEnd(param);\r\n }\r\n if(t.frameSelectProps[param.attributes.id]?.callback instanceof Function){\r\n t.frameSelectProps[param.attributes.id].callback(param);\r\n }\r\n });\r\n //保存绘制图元的id便于后期比对\r\n t.state.drawIds[drawParam.geometryType].push(drawParam.data.id);\r\n }\r\n // 关闭绘制\r\n closeDraw() {\r\n let t = this;\r\n const { gis } = t.state;\r\n if (t.drawToolbar) {\r\n // 关闭绘制事件\r\n t.drawToolbar.finishDrawing();\r\n // 移除\r\n gis.removeInteraction(t.drawToolbar)\r\n t.drawToolbar = null;\r\n t.drawInfo = {\r\n sketch: null,\r\n listener: null,\r\n };\r\n }\r\n }\r\n /*工具方法*/\r\n vtxRangingTool(){\r\n let t = this;\r\n let source = new ol.source.Vector({});\r\n t.rangingInfo.drawLayer = new ol.layer.Vector({\r\n source: source,\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#ffcc33',\r\n width: 4,\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33',\r\n }),\r\n }),\r\n }),\r\n })\r\n t.rangingInfo.draw = new ol.interaction.Draw({\r\n source,\r\n type: 'LineString',\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.5)',\r\n lineDash: [10, 10],\r\n width: 4,\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 5,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.7)',\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n }),\r\n }),\r\n });\r\n let obj = {};\r\n t.createHelpTooltip();\r\n t.createMeasureTooltip();\r\n t.createDeleteTooltip();\r\n t.state.gis.addLayer(t.rangingInfo.drawLayer);\r\n t.state.gis.addInteraction(t.rangingInfo.draw);\r\n // 开始监听绘制\r\n t.rangingInfo.draw.on('drawstart', (evt) => {\r\n t.rangingInfo.feature = evt.feature;\r\n let tooltipCoord = evt.coordinate;\r\n t.rangingInfo.listener = evt.feature.getGeometry().on('change', function (evt) {\r\n const geom = evt.target;\r\n const {flatCoordinates} = geom;\r\n const lngLats = [[flatCoordinates[0], flatCoordinates[1]],[flatCoordinates[2], flatCoordinates[3]]];\r\n let output = t.formatLength(geom);\r\n tooltipCoord = geom.getLastCoordinate();\r\n obj={\r\n distance: output,\r\n lnglats: lngLats,\r\n }\r\n t.rangingInfo.measureTooltipElement.innerHTML = output;\r\n t.rangingInfo.measureTooltip.setPosition(tooltipCoord);\r\n t.rangingInfo.deleteToolTip.setPosition(tooltipCoord);\r\n t.rangingInfo.deleteToolTip.setOffset([20, 10]);\r\n });\r\n });\r\n // 双击绘制完成\r\n t.rangingInfo.draw.on('drawend', () => {\r\n t.rangingInfo.measureTooltipElement.className = 'ol-tooltip ol-tooltip-static';\r\n t.rangingInfo.measureTooltip.setOffset([0, -7]);\r\n t.rangingInfo.feature = null;\r\n t.rangingInfo.measureTooltipElement = null;\r\n // t.createMeasureTooltip();\r\n new ol.Observable.unByKey(t.rangingInfo.listener);\r\n t.state.gis.removeInteraction(t.rangingInfo.draw);\r\n if('mapRangingTool' in t.props){\r\n t.props.mapRangingTool(obj);\r\n }\r\n });\r\n }\r\n // 绘图时创建提示\r\n createHelpTooltip(){\r\n const t = this;\r\n if (t.rangingTool.helpTooltipElement) {\r\n t.rangingTool.helpTooltipElement.parentNode.removeChild(t.rangingTool.helpTooltipElement);\r\n }\r\n t.rangingTool.helpTooltipElement = document.createElement('div');\r\n t.rangingTool.helpTooltipElement.className = 'ol-tooltip hidden';\r\n t.rangingTool.helpTooltip = new ol.Overlay({\r\n element: t.rangingTool.helpTooltipElement,\r\n offset: [15, 0],\r\n positioning: 'center-left',\r\n });\r\n t.state.gis.addOverlay(t.rangingTool.helpTooltip);\r\n }\r\n // 工具画图提示\r\n createMeasureTooltip() {\r\n const t = this;\r\n if (t.rangingInfo.measureTooltipElement) {\r\n t.rangingInfo.measureTooltipElement.parentNode.removeChild(t.rangingInfo.measureTooltipElement);\r\n }\r\n t.rangingInfo.measureTooltipElement = document.createElement('div');\r\n t.rangingInfo.measureTooltipElement.className = 'ol-tooltip ol-tooltip-measure';\r\n t.rangingInfo.measureTooltip = new ol.Overlay({\r\n element: t.rangingInfo.measureTooltipElement,\r\n offset: [0, -15],\r\n positioning: 'bottom-center',\r\n stopEvent: false,\r\n insertFirst: false,\r\n });\r\n t.state.gis.addOverlay(t.rangingInfo.measureTooltip);\r\n }\r\n // 创建删除提示\r\n createDeleteTooltip() {\r\n const t = this;\r\n if (t.rangingInfo.deleteToolTipElement) {\r\n t.rangingInfo.deleteToolTipElement.parentNode.removeChild(t.rangingInfo.deleteToolTipElement);\r\n }\r\n t.rangingInfo.deleteToolTipElement = document.createElement('div');\r\n t.rangingInfo.deleteToolTipElement.className = 'ol-tooltip-delete';\r\n t.rangingInfo.deleteToolTipElement.innerHTML = 'X';\r\n t.rangingInfo.deleteToolTipElement.addEventListener('click', function(e){\r\n t.rangingInfo.measureTooltipElement = null;\r\n t.rangingInfo.helpTooltipElement = null;\r\n t.rangingInfo.deleteToolTipElement = null;\r\n t.state.gis.removeOverlay(t.rangingInfo.measureTooltip);\r\n t.state.gis.removeOverlay(t.rangingTool.helpTooltip);\r\n t.state.gis.removeOverlay(t.rangingInfo.deleteToolTip);\r\n new ol.Observable.unByKey(t.rangingInfo.listener);\r\n t.state.gis.removeInteraction(t.rangingInfo.draw);\r\n t.state.gis.removeLayer(t.rangingInfo.drawLayer);\r\n })\r\n t.rangingInfo.deleteToolTip = new ol.Overlay({\r\n element: t.rangingInfo.deleteToolTipElement,\r\n offset: [15, 15],\r\n positioning: 'bottom-center',\r\n stopEvent: false,\r\n insertFirst: true,\r\n });\r\n t.state.gis.addOverlay(t.rangingInfo.deleteToolTip);\r\n }\r\n\r\n formatLength (line) {\r\n const {flatCoordinates} = line\r\n // const length = new ol.sphere.getDistance([flatCoordinates[0], flatCoordinates[1]],[flatCoordinates[2], flatCoordinates[3]]);\r\n let paths = []\r\n for (let n = 0; n < flatCoordinates.length; n += 2) {\r\n paths.push([flatCoordinates[n], flatCoordinates[n + 1]])\r\n }\r\n let length = 0;\r\n if (paths.length >= 2)\r\n paths.map((item, index) => {\r\n if (index <= paths.length - 2) {\r\n length += ol.sphere.getDistance(paths[index], paths[index + 1])\r\n }\r\n })\r\n let output = '';\r\n if (length > 100) {\r\n output = Math.round((length / 1000) * 100) / 100 + ' ' + 'km';\r\n } else {\r\n output = Math.round(length * 100) / 100 + ' ' + 'm';\r\n }\r\n return output;\r\n };\r\n // 获取地图的当前位置状态信息\r\n getMapExtent() {\r\n let t = this;\r\n const { gis } = t.state;\r\n let obj = {};\r\n if (gis) {\r\n let nowBounds = gis.getView().calculateExtent(gis.getSize());\r\n obj.southWest = {\r\n lng: nowBounds[0],\r\n lat: nowBounds[1],\r\n };\r\n obj.northEast = {\r\n lng: nowBounds[2],\r\n lat: nowBounds[3],\r\n };\r\n obj.nowCenter = t.getCenter();\r\n obj.zoom = t.getZoomLevel();\r\n const [width, height] = gis.getSize();\r\n obj.mapSize = { width: width, height: height };\r\n obj.radius = ol.sphere.getDistance(\r\n [obj.nowCenter.lng, obj.nowCenter.lat],\r\n [obj.northEast.lng, obj.northEast.lat],\r\n );\r\n return obj;\r\n }\r\n }\r\n //将制定图元展示在视野内 (强制改变地图中心位置)\r\n /*\r\n 参数arg格式如下1,2\r\n 1.string 格式如:'1,a,2,3,4'\r\n 2.数组 ['1','2']\r\n */\r\n setVisiblePoints(mapVisiblePoints) {\r\n let t = this;\r\n const {gis} = t.state;\r\n let arg = null;\r\n let type = mapVisiblePoints.type;\r\n let ary = [];//图元id集合\r\n let obj = [];//经纬度集合\r\n switch(mapVisiblePoints.fitView){\r\n case 'point':\r\n arg = this.state.pointIds;\r\n break;\r\n case 'line':\r\n arg = this.state.lineIds;\r\n break;\r\n case 'polygon':\r\n arg = this.state.polygonIds;\r\n break;\r\n case 'circle':\r\n arg = this.state.circleIds;\r\n break;\r\n case 'all':\r\n arg = this.state.pointIds.concat(this.state.lineIds).concat(this.state.polygonIds).concat(this.state.circleIds);\r\n break;\r\n default:\r\n arg = mapVisiblePoints.fitView;\r\n break;\r\n }\r\n if(typeof(arg) === 'string'){\r\n ary = arg.split(',');\r\n }else if(arg instanceof Array){\r\n ary = arg;\r\n }\r\n for(let i = 0 ; i < ary.length ; i++){\r\n let g = t.GM.getGraphicParam(ary[i]);\r\n if(g){\r\n switch(g.geometry.type){\r\n case 'point':\r\n obj.push([g.geometry.x,g.geometry.y]);\r\n case 'circle':\r\n obj.push([g.geometry.x,g.geometry.y]);\r\n break;\r\n case 'polyline':\r\n obj = [...obj,...g.geometry.paths];\r\n break;\r\n case 'polygon':\r\n obj = [...obj,...g.geometry.rings];\r\n break;\r\n }\r\n }\r\n }\r\n if(obj.length > 0){\r\n let displayRange = new ol.extent.boundingExtent(obj);\r\n gis.getView().fit(displayRange, gis.getSize());\r\n }\r\n }\r\n getFitView(ids) {\r\n let t = this;\r\n if (ids.length > 0) {\r\n let maxX = null, maxY = null, minX = null, minY = null;\r\n for (let i = 0; i < ids.length; i++) {\r\n let coord = t.GM.getGraphic(ids[i]);\r\n let boundsArry = coord.getGeometry().getExtent();\r\n if (minX === null) {\r\n minX = boundsArry[0]\r\n minY = boundsArry[1]\r\n maxX = boundsArry[2]\r\n maxY = boundsArry[3]\r\n } else {\r\n minX = Math.min(boundsArry[0], minX)\r\n minY = Math.min(boundsArry[1], minY)\r\n maxX = Math.max(boundsArry[2], maxX)\r\n maxY = Math.max(boundsArry[3], maxY)\r\n }\r\n }\r\n const bounds = [minX, minY, maxX, maxY];\r\n return bounds;\r\n }\r\n }\r\n /*功能方法*/\r\n //获取当前地图的中心位置\r\n getCurrentCenter() {\r\n let t = this;\r\n const { gis } = t.state;\r\n let extent = gis.getView().calculateExtent(gis.getSize());\r\n return [(extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2];\r\n }\r\n //获取当前比例尺\r\n getZoomLevel() {\r\n let t = this;\r\n return t.state.gis.getView().getZoom();\r\n }\r\n //获取图元数据\r\n getGraphic(id) {\r\n let t = this;\r\n if (!id) {\r\n return false;\r\n }\r\n let gp = t.GM.getGraphicParam(id);\r\n let gg = t.GM.getGraphic(id);\r\n if (!gg) {\r\n return false;\r\n }\r\n let p = {},\r\n pts = [],\r\n lng = 0,\r\n lat = 0;\r\n switch (gp.geometryType) {\r\n case 'point':\r\n lng = gp.geometry.x;\r\n lat = gp.geometry.y;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n x: lng,\r\n y: lat,\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n other: {\r\n ...gp.attributes.other,\r\n longitude: lng,\r\n latitude: lat,\r\n },\r\n },\r\n };\r\n break;\r\n case 'polyline':\r\n pts = gp.geometry.paths;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n paths: pts,\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n paths: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n paths: pts,\r\n },\r\n },\r\n };\r\n break;\r\n case 'polygon':\r\n pts = gp.geometry.rings;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n rings: pts,\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n rings: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n rings: pts,\r\n },\r\n },\r\n area: getPolygonArea(pts),\r\n };\r\n break;\r\n case 'circle':\r\n lng = gp.geometry.x;\r\n lat = gp.geometry.y;\r\n let radius = gp.geometry.radius;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n x: lng,\r\n y: lat,\r\n radius,\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n radius,\r\n other: {\r\n ...gp.attributes.other,\r\n longitude: lng,\r\n latitude: lat,\r\n radius,\r\n },\r\n },\r\n };\r\n break;\r\n }\r\n return p;\r\n }\r\n // 转换dom节点\r\n parseDom(domStr) {\r\n const domObj = document.createElement('div');\r\n domObj.innerHTML = domStr;\r\n return domObj.childNodes;\r\n }\r\n //添加海量点\r\n addPointCollection(data = []) {\r\n let t = this;\r\n data.map((item, index) => {\r\n let d = item || {};\r\n let points = (d.points || []).map((d, i) => {\r\n let p = t.state.gis.getPixelFromCoordinate([d.lng, d.lat]);\r\n return [p[0], p[1]];\r\n });\r\n let [width, height] = t.state.gis.getSize();\r\n let options = {\r\n size: d.size,\r\n shape: d.shape,\r\n color: d.color,\r\n width: width,\r\n height: height,\r\n mapId: t.props.mapId\r\n };\r\n let VotexpointCollection = new GMapLib.PointCollection(points, options);\r\n t.morepoints.push({\r\n id: d.id,\r\n value: VotexpointCollection\r\n });\r\n VotexpointCollection.draw();\r\n })\r\n }\r\n //更新海量点\r\n updatePointCollection(data = []) {\r\n let t = this;\r\n data.map((ds, ind) => {\r\n t.morepoints.map((item, index) => {\r\n if (item.id == ds.id) {\r\n let points = (ds.points || []).map((d, i) => {\r\n let p = t.state.gis.getPixelFromCoordinate([d.lng, d.lat]);\r\n return [p[0], p[1]];\r\n });\r\n let [width, height] = t.state.gis.getSize();\r\n let options = {\r\n size: ds.size,\r\n shape: ds.shape,\r\n color: ds.color,\r\n width: width,\r\n height: height\r\n };\r\n item.value.reDraw(points, options);\r\n }\r\n })\r\n })\r\n }\r\n //删除海量点\r\n clearPointCollection(ids = []) {\r\n let t = this;\r\n ids.map((id, ind) => {\r\n t.morepoints.map(function (item, index) {\r\n if (id == item.id) {\r\n item.value.clear();\r\n }\r\n });\r\n });\r\n }\r\n\r\n //删除全部海量点\r\n clearAllPointCollection() {\r\n let t = this;\r\n t.morepoints.map(function (item, index) {\r\n item.value.clear();\r\n });\r\n }\r\n // 框选\r\n frameSelect({geometryType,parameter={},data={}},callback){\r\n if(!['polygon','circle','rectangle'].includes(geometryType)){\r\n message.warn(\"传入的类型不支持框选!\")\r\n return false;\r\n }\r\n const t = this;\r\n let params = {},\r\n type = geometryType||'polygon',\r\n id = data.id || `frameSelectFeature_${Math.random()}`;\r\n\r\n params.color = parameter.color||'#FF0000';\r\n params.lineColor = parameter.lineColor||'#FF0000';\r\n params.lineOpacity = parameter.lineOpacity||1;\r\n params.lineWidth = parameter.lineWidth||2;\r\n params.pellucidity = parameter.pellucidity||0.6;\r\n params.lineType = parameter.lineType||'solid';\r\n\r\n t.draw({\r\n geometryType: type,\r\n parameter: {\r\n ...parameter,\r\n ...params\r\n },\r\n data:{\r\n id: id\r\n }\r\n });\r\n\r\n t.frameSelectProps[id] = {\r\n callback,\r\n id,\r\n type: geometryType\r\n } \r\n }\r\n // 清除框选\r\n clearFrameSelect(){\r\n for(let key in this.frameSelectProps){\r\n this.removeGraphic(this.frameSelectProps[key].id,this.frameSelectProps[key].type);\r\n }\r\n this.frameSelectProps = {};\r\n }\r\n // 清除框选ById\r\n clearFrameSelectById(id){\r\n let obj = this.frameSelectProps[id];\r\n this.removeGraphic(obj.id, obj.type);\r\n delete this.frameSelectProps[id];\r\n }\r\n /*\r\n * 添加信息窗口\r\n * params\r\n * @position: Array[longitude,latitude]\r\n * @content: String|HTML\r\n * @close: boolean\r\n */\r\n showInfoWindow(params={}){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.hideInfoWindow();\r\n }\r\n t.popupWindow = new Popup({\r\n map: t.state.gis,\r\n position: params.position,\r\n innerHTML: params.content,\r\n close: params.close\r\n });\r\n t.popupWindow.showPopup();\r\n }\r\n hideInfoWindow(){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.popupWindow.removePopup();\r\n }\r\n t.popupWindow = null;\r\n }\r\n // 添加点\r\n addPoint(mapPoints, type) {\r\n let t = this;\r\n let ps = [];\r\n let psids = [...t.state.pointIds];\r\n mapPoints.map((item, index) => {\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`加点id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //点位数据不符合,直接跳过\r\n if (!item.longitude || !item.latitude) {\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n // 创建点位图元要素\r\n let feature = new ol.Feature({\r\n geometry: new ol.geom.Point([parseFloat(item.longitude), parseFloat(item.latitude)]),\r\n name: item.name,\r\n id: item.id,\r\n params: {\r\n ...item,\r\n },\r\n });\r\n let cg = {\r\n width: 30,\r\n height: 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n markerContentX: -13,\r\n markerContentY: -42,\r\n zIndex: 100,\r\n deg: 0,\r\n scale: 1,\r\n };\r\n //初始化默认数据\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n // 覆盖物样式参数\r\n let style, icon, txt;\r\n let myImage = new Image(cg.width, cg.height);\r\n \r\n if (!!item.markerContent) {\r\n let nodes = t.parseDom(item.markerContent)[0];\r\n // 自定义图层需要把事件加在dom上\r\n nodes.addEventListener(\"click\", e => {\r\n t.clickGraphic(item.id,{\r\n ...e,\r\n pixel: [e.clientX,e.clientY]\r\n })\r\n })\r\n // 创建地图自定义覆盖物\r\n let pop = new ol.Overlay({\r\n id: item.id,\r\n position: [parseFloat(item.longitude), parseFloat(item.latitude)],\r\n positioning: 'center-center',\r\n element: nodes,\r\n autoPanMargin: 20,\r\n autoPan: true,\r\n offset: [0, -20],\r\n insertFirst: true,\r\n });\r\n t.state.gis.addOverlay(pop);\r\n } else {\r\n // item.url || require(\"../images/defaultMarker.png\"),\r\n canvasDataURL(\r\n item.url || require(\"../images/defaultMarker.png\"),\r\n { width: cg.width, height: cg.height },\r\n function (base64) {\r\n myImage.src = base64;\r\n }\r\n )\r\n // 创建地图要素图标样式\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [-cg.markerContentX, -cg.markerContentY],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n img: myImage,\r\n imgSize: [cg.width, cg.height],\r\n opacity: cg.opacity,\r\n scale: cg.scale || 1,\r\n }),\r\n });\r\n }\r\n if (!!item.canShowLabel && item.canShowLabel) {\r\n let textStyle = {\r\n textAlign: 'center', //对齐方式\r\n textBaseline: 'middle', //文本基线\r\n font: 'normal 12px 微软雅黑', //字体样式\r\n text: cg.labelContent, //文本内容\r\n offsetX: cg.labelPixelX, // x轴偏置\r\n offsetY: cg.labelPixelY, // Y轴偏置\r\n fill: new ol.style.Fill({\r\n //填充样式\r\n color: '#1890ff',\r\n }),\r\n backgroundFill: new ol.style.Fill({\r\n // 填充背景\r\n color: 'rgba(255, 255, 255, 1)',\r\n }),\r\n padding: [2, 5, 2, 5],\r\n ...(cg.labelStyle || {})\r\n }\r\n if(cg.labelStyle && cg.labelStyle.fill){\r\n textStyle['fill'] = new ol.style.Fill({\r\n color: cg.labelStyle.fill\r\n })\r\n }\r\n if(cg.labelStyle && cg.labelStyle.backgroundFill){\r\n textStyle['backgroundFill'] = new ol.style.Fill({\r\n color: cg.labelStyle.backgroundFill\r\n })\r\n }\r\n // 创建地图要素图标样式\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [-cg.markerContentX, -cg.markerContentY],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n // src: item.url || require(\"../images/defaultMarker.png\"),\r\n img: myImage,\r\n imgSize: [cg.width, cg.height],\r\n opacity: cg.opacity,\r\n scale: cg.scale || 1,\r\n }),\r\n // 创建地图要素文字样式\r\n text: new ol.style.Text(textStyle),\r\n });\r\n }\r\n feature.setStyle(style);\r\n // 初始化适量数据源\r\n let source = new ol.source.Vector({\r\n features: [feature],\r\n name: 'point',\r\n id: item.id,\r\n });\r\n let pointLayer = new ol.layer.Vector({\r\n name: 'point',\r\n source,\r\n id: item.id,\r\n });\r\n t.pointLayers.push({\r\n id: item.id,\r\n layer: pointLayer\r\n })\r\n //添加点位图层\r\n t.state.gis.addLayer(pointLayer);\r\n if (!item.markerContent && cg.BAnimationType == 0) {\r\n marker.setAnimation(BMAP_ANIMATION_BOUNCE);\r\n } else if (!item.markerContent && cg.BAnimationType == 1) {\r\n marker.setAnimation(BMAP_ANIMATION_DROP);\r\n }\r\n psids.push(item.id);\r\n //缓存图元的数据,偏于后期操作\r\n this.GM.setGraphic(item.id, feature).setGraphicParam(item.id, {\r\n attributes: { ...item, other: item },\r\n geometryType: 'point',\r\n geometry: {\r\n type: 'point',\r\n x: parseFloat(item.longitude),\r\n y: parseFloat(item.latitude),\r\n },\r\n source\r\n });\r\n });\r\n if (type !== 'defined') {\r\n // t.state.pointIds = psids;\r\n t.setState({\r\n pointIds: psids\r\n })\r\n }\r\n }\r\n //更新点\r\n updatePoint(mapPoints = []) {\r\n let t = this;\r\n let index = 0;\r\n const dealPoint = (item) => {\r\n if (this.GM.isRepetition(item.id)) {\r\n //点位数据不符合,直接跳过\r\n if (!item.longitude || !item.latitude) {\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n let gc = t.GM.getGraphic(item.id);\r\n let gp = t.GM.getGraphicParam(item.id);\r\n let cg = {\r\n width: 30,\r\n height: 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n BAnimationType: 3,\r\n //默认点的偏移值就不同\r\n markerContentX: -15,\r\n markerContentY: -30,\r\n deg: 0,\r\n };\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n\r\n let text, icon, marker;\r\n let myImage = new Image(cg.width, cg.height);\r\n if (item.markerContent) {\r\n let overlay = t.state.gis.getOverlayById(item.id);\r\n let nodes = t.parseDom(item.markerContent)[0];\r\n nodes.addEventListener(\"click\", e => {\r\n t.clickGraphic(item.id,{\r\n ...e,\r\n pixel: [e.clientX,e.clientY]\r\n })\r\n })\r\n overlay.setElement(nodes);\r\n overlay.setPosition([parseFloat(item.longitude), parseFloat(item.latitude)]);\r\n t.state.gis.changed();\r\n } else {\r\n canvasDataURL(\r\n item.url || require(\"../images/defaultMarker.png\"),\r\n { width: cg.width, height: cg.height },\r\n function (base64) {\r\n myImage.src = base64;\r\n }\r\n )\r\n icon = new ol.style.Icon({\r\n anchor: [-cg.markerContentX, -cg.markerContentY],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n // src: item.url || require(\"../images/defaultMarker.png\"),\r\n img: myImage,\r\n imgSize: [cg.width, cg.height],\r\n opacity: cg.opacity,\r\n scale: cg.scale || 1,\r\n rotation: Math.PI / 180 * cg.deg,\r\n })\r\n if (item.canShowLabel) {\r\n let textStyle = {\r\n textAlign: 'center', //对齐方式\r\n textBaseline: 'middle', //文本基线\r\n font: 'normal 12px 微软雅黑', //字体样式\r\n text: cg.labelContent, //文本内容\r\n offsetX: cg.labelPixelX, // x轴偏置\r\n offsetY: cg.labelPixelY, // Y轴偏置\r\n fill: new ol.style.Fill({\r\n //填充样式\r\n color: '#1890ff',\r\n }),\r\n backgroundFill: new ol.style.Fill({\r\n // 填充背景\r\n color: 'rgba(255, 255, 255, 1)',\r\n }),\r\n padding: [2, 5, 2, 5],\r\n ...(cg.labelStyle || {})\r\n }\r\n if(cg.labelStyle && cg.labelStyle.fill){\r\n textStyle['fill'] = new ol.style.Fill({\r\n color: cg.labelStyle.fill\r\n })\r\n }\r\n if(cg.labelStyle && cg.labelStyle.backgroundFill){\r\n textStyle['backgroundFill'] = new ol.style.Fill({\r\n color: cg.labelStyle.backgroundFill\r\n })\r\n }\r\n text = new ol.style.Text(textStyle)\r\n }\r\n if (text) {\r\n gc.setStyle(new ol.style.Style({\r\n image: icon,\r\n text,\r\n }))\r\n } else {\r\n gc.setStyle(new ol.style.Style({\r\n image: icon,\r\n }))\r\n }\r\n }\r\n gc.setGeometry(new ol.geom.Point([parseFloat(item.longitude), parseFloat(item.latitude)]));\r\n this.GM.setGraphicParam(\r\n item.id,\r\n {\r\n attributes: { ...item, other: item },\r\n geometryType: 'point',\r\n geometry: {\r\n type: 'point',\r\n x: parseFloat(item.longitude),\r\n y: parseFloat(item.latitude)\r\n },\r\n source: gp.source\r\n }\r\n );\r\n } else {\r\n console.warn(`更新的点位id不存在!`);\r\n return false;\r\n }\r\n if (index < mapPoints.length - 1) {\r\n requestIdleCallback(() => dealPoint(mapPoints[++index]))\r\n } else {\r\n t.refresh();\r\n }\r\n }\r\n if (!isEmpty(mapPoints)) {\r\n requestIdleCallback(() => dealPoint(mapPoints[index]))\r\n }\r\n }\r\n // 更新图层\r\n refresh(){\r\n const t = this;\r\n let timer = setTimeout(()=>{\r\n clearTimeout(timer);\r\n window.VtxMap[t.props.mapId].redrawText();\r\n },100)\r\n }\r\n // 添加先\r\n addLine(mapLines, type) {\r\n let t = this;\r\n let ls = [];\r\n let lsids = [...t.state.lineIds];\r\n //遍历添加线(图元)\r\n mapLines.map((item, index) => {\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`多折线id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多折线点位数据不符合,直接跳过\r\n if (!(item.paths && item.paths.length >= 2)) {\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',\r\n isHidden: false,\r\n };\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n const style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.color,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n });\r\n let polyline = new ol.Feature({\r\n geometry: new ol.geom.LineString(item.paths),\r\n id: item.id,\r\n params: {\r\n ...item,\r\n },\r\n });\r\n polyline.setStyle(style);\r\n let source = new ol.source.Vector({\r\n features: [polyline],\r\n name: 'polyline',\r\n id: item.id,\r\n })\r\n let lineLayer = new ol.layer.Vector({\r\n name: 'polyline',\r\n id: item.id,\r\n source,\r\n });\r\n t.state.gis.addLayer(lineLayer);\r\n //缓存图元的数据,便于后期操作\r\n let pts = item.paths.map((itt, ind) => {\r\n return [...itt];\r\n });\r\n this.GM.setGraphic(item.id, polyline).setGraphicParam(item.id, {\r\n attributes: {\r\n ...item,\r\n paths: pts,\r\n other: item,\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: pts,\r\n },\r\n source: source,\r\n });\r\n ls.push(polyline);\r\n lsids.push(item.id);\r\n t.state.lineIds.push(item.id);\r\n });\r\n if (type !== 'defined') {\r\n t.state.lineIds = lsids;\r\n }\r\n }\r\n //更新线\r\n updateLine(mapLines) {\r\n let t = this;\r\n //遍历添加线(图元)\r\n mapLines.map((item, index) => {\r\n //判断图元是否存在.\r\n if (this.GM.isRepetition(item.id)) {\r\n //多折线点位数据不符合,直接跳过\r\n if (!(item.paths && item.paths.length >= 2)) {\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n //初始化默认参数\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',//'solid' 'dashed'\r\n isHidden: false\r\n }\r\n //获取原有的图元\r\n let gc = this.GM.getGraphic(item.id);\r\n let gp = this.GM.getGraphicParam(item.id);\r\n //重新初始化值\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n let pts = item.paths.map((itt, ind) => {\r\n return [...itt];\r\n });\r\n const style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.color,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n zIndex: cg.zIndex || 0,\r\n }),\r\n });\r\n gc.setStyle(() => {\r\n return style\r\n })\r\n gc.setGeometry(new ol.geom.LineString(pts));\r\n this.GM.setGraphicParam(item.id, {\r\n attributes: {\r\n ...item,\r\n paths: pts,\r\n other: item,\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: pts,\r\n },\r\n source: gp.source,\r\n });\r\n } else {\r\n console.warn(`更新的多折线id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //添加面\r\n addPolygon(mapPolygons) {\r\n let t = this;\r\n let pgs = [];\r\n let pgsids = [...t.state.polygonIds];\r\n //遍历添加面(图元)\r\n mapPolygons.map((item, index) => {\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`多边形id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多边形点位数据不符合,直接跳过\r\n if (!(item.rings && item.rings.length >= 3)) {\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5,\r\n };\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n const style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.lineColor,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: cg.pellucidity ? getRgbColor(cg.color, cg.pellucidity) : cg.color,\r\n }),\r\n });\r\n let polygon = new ol.Feature({\r\n geometry: new ol.geom.Polygon([item.rings]),\r\n id: item.id,\r\n params: {\r\n ...item,\r\n },\r\n name: 'polygon',\r\n });\r\n polygon.setStyle(style);\r\n let source = new ol.source.Vector({\r\n features: [polygon],\r\n id: item.id,\r\n })\r\n let polygonLayer = new ol.layer.Vector({\r\n name: 'polygon',\r\n id: item.id,\r\n source,\r\n });\r\n t.state.gis.addLayer(polygonLayer);\r\n //缓存图元的数据,便于后期操作\r\n let pts = item.rings.map((itt, ind) => {\r\n return [...itt];\r\n });\r\n this.GM.setGraphic(item.id, polygon).setGraphicParam(item.id, {\r\n attributes: {\r\n ...item,\r\n rings: pts,\r\n other: item,\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: pts,\r\n },\r\n source\r\n });\r\n pgs.push(polygon);\r\n pgsids.push(item.id);\r\n });\r\n t.state.polygonIds = pgsids;\r\n }\r\n //更新面\r\n updatePolygon(mapPolygons) {\r\n let t = this;\r\n mapPolygons.map((item, index) => {\r\n //判断图元是否存在.\r\n if (this.GM.isRepetition(item.id)) {\r\n //多边形点位数据不符合,直接跳过\r\n if (!(item.rings && item.rings.length >= 3)) {\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = this.GM.getGraphic(item.id);\r\n let gp = t.GM.getGraphicParam(item.id);\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n };\r\n //重新初始化值\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n let pts = item.rings.map((itt, ind) => {\r\n return [...itt];\r\n });\r\n gc.setGeometry(new ol.geom.Polygon([pts]));\r\n gc.setStyle(new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.lineColor,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: cg.pellucidity ? getRgbColor(cg.color, cg.pellucidity) : cg.color,\r\n }),\r\n }))\r\n this.GM.setGraphicParam(item.id, {\r\n attributes: {\r\n ...item,\r\n rings: pts,\r\n other: item,\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: pts,\r\n },\r\n source: gp.source\r\n });\r\n } else {\r\n console.warn(`更新的多边形id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //添加圆 circle\r\n addCircle(mapCircles, type) {\r\n let t = this;\r\n let ccsids = [...t.state.circleIds];\r\n if (type) {\r\n ccsids = [...t.state.drawIds[type]];\r\n }\r\n mapCircles.map((item, index) => {\r\n //如果id重复,直接跳过不执行.\r\n if (t.GM.isRepetition(item.id)) {\r\n console.warn(`圆id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //圆 点位数据不符合,直接跳过\r\n if (!item.longitude || !item.latitude) {\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要在加\r\n }\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n const style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.lineColor,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: cg.pellucidity ? getRgbColor(cg.color, cg.pellucidity) : cg.color,\r\n }),\r\n });\r\n let metersPerUnit = t.state.gis.getView().getProjection().getMetersPerUnit();\r\n let circleRadius = item.radius / metersPerUnit;\r\n let circle = new ol.Feature({\r\n geometry: new ol.geom.Circle([item.longitude, item.latitude], parseFloat(circleRadius)),\r\n id: item.id,\r\n params: {\r\n ...item,\r\n },\r\n name: 'circle'\r\n });\r\n circle.setStyle(style);\r\n let source = new ol.source.Vector({\r\n features: [circle],\r\n name: 'circle',\r\n id: item.id,\r\n });\r\n let circleLayer = new ol.layer.Vector({\r\n name: 'circle',\r\n id: item.id,\r\n source\r\n });\r\n t.state.gis.addLayer(circleLayer);\r\n ccsids.push(item.id);\r\n t.GM.setGraphic(item.id, circle)\r\n .setGraphicParam(item.id, {\r\n attributes: { ...item, other: item },\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: parseFloat(item.longitude),\r\n y: parseFloat(item.latitude),\r\n radius: parseFloat(item.radius)\r\n },\r\n source\r\n });\r\n });\r\n //添加绘制点\r\n if (type) {\r\n t.state.drawIds = {\r\n ...t.state.drawIds,\r\n [type]: ccsids\r\n }\r\n } else {\r\n t.state.circleIds = ccsids;\r\n }\r\n }\r\n //更新圆\r\n updateCircle(mapCircles) {\r\n let t = this;\r\n mapCircles.map((item, index) => {\r\n //判断图元是否存在.\r\n if (t.GM.isRepetition(item.id)) {\r\n //圆 点位数据不符合,直接跳过\r\n if (!item.longitude || !item.latitude) {\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n } else {\r\n console.warn(`更新的圆id不存在!`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = t.GM.getGraphic(item.id);\r\n let gp = t.GM.getGraphicParam(item.id);\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要在加\r\n }\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n let metersPerUnit = t.state.gis.getView().getProjection().getMetersPerUnit();\r\n let circleRadius = item.radius / metersPerUnit;\r\n gc.setGeometry(new ol.geom.Circle([item.longitude, item.latitude], parseFloat(circleRadius)));\r\n gc.setStyle(new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.lineColor,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: cg.pellucidity ? getRgbColor(cg.color, cg.pellucidity) : cg.color,\r\n }),\r\n }))\r\n t.GM.setGraphicParam(item.id, {\r\n attributes: { ...item, other: item },\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: parseFloat(item.longitude),\r\n y: parseFloat(item.latitude),\r\n radius: parseFloat(item.radius)\r\n },\r\n source: gp.source,\r\n });\r\n });\r\n //刷新图元\r\n }\r\n // 工具方法\r\n //删除图元\r\n removeGraphic(id, type) {\r\n let t = this;\r\n let graphic = t.GM.getGraphic(id);\r\n let gp = t.GM.getGraphicParam(id);\r\n //刪除label\r\n if (t.Label[id]) {\r\n t.Label[id].html.remove();\r\n delete t.Label[id];\r\n }\r\n if (!!graphic) {\r\n //清除聚合点 避免异常\r\n // t._cluster.removeMarker(this.GM.getGraphic(id));\r\n //清除地图中图元\r\n // const layers = t.state.gis.getLayers().getArray();\r\n // const layer = layers.filter(item => item.getProperties().name == type)[0];\r\n gp.source.removeFeature(graphic);\r\n // layer && layer.getSource().removeFeature(graphic);\r\n //清除对应id的图元数据缓存\r\n t.GM.removeGraphic(id);\r\n t.GM.removeGraphicParam(id);\r\n if(t.state.gis.getOverlayById(id)){\r\n t.state.gis.removeOverlay(t.state.gis.getOverlayById(id))\r\n }\r\n } else {\r\n return false;\r\n }\r\n for (let i = 0; i < t.movePoints.length; i++) {\r\n if (t.movePoints[i].id == id) {\r\n t.movePoints.splice(i, 1);\r\n continue;\r\n }\r\n }\r\n let ids = [];\r\n switch (type) {\r\n case 'point':\r\n ids = t.state.pointIds;\r\n break;\r\n case 'line':\r\n ids = t.state.lineIds;\r\n break;\r\n case 'polygon':\r\n ids = t.state.polygonIds;\r\n break;\r\n case 'circle':\r\n ids = t.state.circleIds;\r\n break;\r\n case 'draw':\r\n if (t.state.drawIds.point.indexOf(id) > -1) {\r\n t.state.drawIds.point.splice(t.state.drawIds.point.indexOf(id), 1);\r\n }\r\n if (t.state.drawIds.polyline.indexOf(id) > -1) {\r\n t.state.drawIds.polyline.splice(t.state.drawIds.polyline.indexOf(id), 1);\r\n }\r\n if (t.state.drawIds.polygon.indexOf(id) > -1) {\r\n t.state.drawIds.polygon.splice(t.state.drawIds.polygon.indexOf(id), 1);\r\n }\r\n if (t.state.drawIds.circle.indexOf(id) > -1) {\r\n t.state.drawIds.circle.splice(t.state.drawIds.circle.indexOf(id), 1);\r\n }\r\n if (t.state.drawIds.rectangle.indexOf(id) > -1) {\r\n t.state.drawIds.rectangle.splice(t.state.drawIds.rectangle.indexOf(id), 1);\r\n }\r\n break;\r\n default:\r\n if (t.state.pointIds.indexOf(id) > -1) {\r\n t.state.pointIds.splice(t.state.pointIds.indexOf(id), 1);\r\n }\r\n if (t.state.lineIds.indexOf(id) > -1) {\r\n t.state.lineIds.splice(t.state.lineIds.indexOf(id), 1);\r\n }\r\n if (t.state.polygonIds.indexOf(id) > -1) {\r\n t.state.polygonIds.splice(t.state.polygonIds.indexOf(id), 1);\r\n }\r\n if (t.state.circleIds.indexOf(id) > -1) {\r\n t.state.circleIds.splice(t.state.circleIds.indexOf(id), 1);\r\n }\r\n break;\r\n }\r\n if (id == t.state.editId) {\r\n t.state.editId = '';\r\n }\r\n if (ids.indexOf(id) != -1) {\r\n ids.splice(ids.indexOf(id), 1);\r\n }\r\n }\r\n //清空地图\r\n clearAll() {\r\n let t = this;\r\n const { gis } = t.state;\r\n const layers = gis.getLayers();\r\n //清空热力图\r\n if (t.heatmap) {\r\n let hMap = layers.filter(item => item.name == 'heatMap')[0];\r\n hMap.getSource().clear();\r\n gis.removeLayer(layer);\r\n }\r\n t.heatmap = null;\r\n t.movePoints = [];\r\n\r\n t.state.pointIds = [];\r\n t.pointLayers.map(item => {\r\n gis.removeLayer(item.layer)\r\n t.pointLayers = [];\r\n })\r\n\r\n t.clearAllPointCollection();\r\n t.closeDraw();\r\n if(t.clusterInfo.clusterHulls || t.clusterInfo.clusters || t.clusterInfo.clusterCircles){\r\n t.clusterHulls.getSource().clear();\r\n t.clusterInfo.clusterSource = null;\r\n gis.removeLayer(t.clusterInfo.clusterHulls);\r\n gis.removeLayer(t.clusterInfo.clusters);\r\n gis.removeLayer(t.clusterInfo.clusterCircles);\r\n t.clusterInfo.clusterHulls= null;\r\n t.clusterInfo.clusters = null;\r\n t.clusterInfo.clusterCircles = null;\r\n }\r\n //清空缓存数据\r\n t.GM.clearAll();\r\n //循环所有id删除\r\n let { pointIds, lineIds, polygonIds, circleIds, drawIds } = t.state;\r\n //拷贝数组,避免原数组操作,影响循环\r\n let ps = [...pointIds],\r\n ls = [...lineIds],\r\n pgs = [...polygonIds],\r\n cs = [...circleIds];\r\n // 删除点\r\n for (let i = 0; i < ps.length; i++) {\r\n t.removeGraphic(ps[i], 'point');\r\n }\r\n // 删除线\r\n for (let i = 0; i < ls.length; i++) {\r\n t.removeGraphic(ls[i], 'line');\r\n }\r\n // 删除面\r\n for (let i = 0; i < pgs.length; i++) {\r\n t.removeGraphic(pgs[i], 'polygon');\r\n }\r\n // 删除圆\r\n for (let i = 0; i < cs.length; i++) {\r\n t.removeGraphic(cs[i], 'circle');\r\n }\r\n //删除绘制的点\r\n let { point, polyline, polygon, circle, rectangle } = drawIds;\r\n for (let i = 0; i < point.length; i++) {\r\n t.removeGraphic(point[i]);\r\n }\r\n for (let i = 0; i < polyline.length; i++) {\r\n t.removeGraphic(polyline[i]);\r\n }\r\n for (let i = 0; i < polygon.length; i++) {\r\n t.removeGraphic(polygon[i]);\r\n }\r\n for (let i = 0; i < circle.length; i++) {\r\n t.removeGraphic(circle[i]);\r\n }\r\n for (let i = 0; i < rectangle.length; i++) {\r\n t.removeGraphic(rectangle[i]);\r\n }\r\n }\r\n //展示比例尺\r\n showControl(props) {\r\n let t = this;\r\n const { gis } = t.state;\r\n const config = props.showControl ;\r\n if (t.scaleControl) {\r\n gis.removeControl(t.scaleControl);\r\n }\r\n t.scaleControl = new ol.control.ScaleLine({\r\n units: 'metric',\r\n //设置度量单位\r\n className: `ol-scale-line-${config.location}`\r\n });\r\n gis.addControl(t.scaleControl);\r\n setTimeout(function (){\r\n if(config.location == 'tl'){\r\n $(`div.ol-scale-line-${config.location}`).css({\r\n position: 'absolute',\r\n left: config.offset?config.offset[0]:0+65,\r\n top: config.offset?config.offset[1]:0,\r\n textAlign: 'center',\r\n })\r\n }else if(config.location == 'bl'){\r\n $(`div.ol-scale-line-${config.location}`).css({\r\n position: 'absolute',\r\n left: config.offset?config.offset[0]:0+65,\r\n bottom: config.offset?config.offset[1]:0,\r\n textAlign: 'center',\r\n })\r\n }else if(config.location == 'tr'){\r\n $(`div.ol-scale-line-${config.location}`).css({\r\n position: 'absolute',\r\n right: config.offset?config.offset[0]:0+65,\r\n top: config.offset?config.offset[1]:0,\r\n textAlign: 'center',\r\n })\r\n }else if(config.location == 'br'){\r\n $(`div.ol-scale-line-${config.location}`).css({\r\n position: 'absolute',\r\n right: config.offset?config.offset[0]:0+65,\r\n bottom: config.offset?config.offset[1]:0,\r\n textAlign: 'center',\r\n })\r\n }\r\n }, 20)\r\n }\r\n //设置区域限制\r\n setAreaRestriction(areaRestriction) {\r\n let t = this;\r\n let { _extent: _et } = t.dealData(areaRestriction);\r\n t.areaRestriction = t.state.gis.getView().setProperties({\r\n extent: [_et.xmax, _et.ymax, _et.xmin, _et.ymin],\r\n }, false);\r\n }\r\n //关闭区域限制\r\n clearAreaRestriction() {\r\n let t = this;\r\n t.areaRestriction = null;\r\n }\r\n //区域限制逻辑\r\n dealAreaRestriction(e) {\r\n let t = this;\r\n //如果在区域内,不处理\r\n if (t.areaRestriction.contains(e.extent.getCenter())) {\r\n return;\r\n }\r\n // if(t.containsExtent(t.areaRestriction,e.extent)){\r\n // return;\r\n // }\r\n let { xmin: xmin1, xmax: xmax1, ymin: ymin1, ymax: ymax1 } = t.areaRestriction;\r\n let { xmin: xmin2, xmax: xmax2, ymin: ymin2, ymax: ymax2 } = e.extent;\r\n let x = e.extent.getCenter().x,\r\n y = e.extent.getCenter().y;\r\n if (x < xmin1) x = xmin1 + 0.1;\r\n if (x > xmax1) x = xmax1 - 0.1;\r\n if (y < ymin1) y = ymin1 + 0.1;\r\n if (y > ymax1) y = ymax1 - 0.1;\r\n t.state.gis.getView().setCenter([x, y]);\r\n }\r\n //聚合地图图元(arg为空时聚合全部点)\r\n cluster(arg){\r\n let t = this;\r\n let ary = [];\r\n if(!arg){\r\n let {pointIds} = t.state;\r\n ary = pointIds;\r\n }else{\r\n if(Object.prototype.toString.apply(arg) === '[object Array]'){\r\n ary = arg;\r\n }else if(typeof arg === 'string'){\r\n ary = arg.split(',');\r\n }\r\n }\r\n t.pointLayers.map(item => {\r\n t.state.gis.removeLayer(item.layer);\r\n t.pointLayers=[];\r\n })\r\n let ms = this.GM.getMoreGraphic(ary).filter((item,index)=>{\r\n // return !item && item != 0 ? false : true;\r\n return item && item.getGeometry().getType() === 'Point' && !item.label;\r\n });\r\n const source = new ol.source.Vector({\r\n features: ms\r\n })\r\n t.clusterInfo.clusterSource = new ol.source.Cluster({\r\n distance: 80,\r\n minDistance: 0,\r\n source\r\n });\r\n if (t.clusterInfo.clusterHulls) {\r\n t.clusterInfo.clusterHulls.setSource(t.clusterInfo.clusterSource)\r\n } else {\r\n t.clusterInfo.clusterHulls = new ol.layer.Vector({\r\n source: t.clusterInfo.clusterSource,\r\n style: clusterHullStyle,\r\n });\r\n t.state.gis.addLayer(t.clusterInfo.clusterHulls);\r\n }\r\n \r\n if (t.clusterInfo.clusters) {\r\n t.clusterInfo.clusters.setSource(t.clusterInfo.clusterSource)\r\n } else {\r\n t.clusterInfo.clusters = new ol.layer.Vector({\r\n source: t.clusterInfo.clusterSource,\r\n style: clusterStyle,\r\n });\r\n t.state.gis.addLayer(t.clusterInfo.clusters);\r\n }\r\n if (t.clusterInfo.clusterCircles) {\r\n t.clusterInfo.clusterCircles.setSource(t.clusterInfo.clusterSource)\r\n } else {\r\n t.clusterInfo.clusterCircles = new ol.layer.Vector({\r\n source: t.clusterInfo.clusterSource,\r\n style: clusterCircleStyle,\r\n });\r\n t.state.gis.addLayer(t.clusterInfo.clusterCircles);\r\n }\r\n\r\n \r\n function clusterMemberStyle(clusterMember) {\r\n let style = clusterMember.getStyle();\r\n let image = style&&style.getImage ? style.getImage() : null;\r\n let text = style&&style.getText ? style.getText() : null;\r\n return new ol.style.Style({\r\n image: image,\r\n text: text\r\n });\r\n }\r\n function clusterCircleStyle(cluster, resolution) {\r\n if (cluster !== t.clusterInfo.clickFeature || resolution !== t.clusterInfo.clickResolution) {\r\n return;\r\n }\r\n const clusterMembers = cluster.get('features');\r\n const centerCoordinates = cluster.getGeometry().getCoordinates();\r\n return generatePointsCircle(\r\n clusterMembers.length,\r\n cluster.getGeometry().getCoordinates(),\r\n resolution,\r\n ).reduce((styles, coordinates, i) => {\r\n const point = new ol.geom.Point(coordinates);\r\n const line = new ol.geom.LineString([centerCoordinates, coordinates]);\r\n styles.unshift(\r\n new ol.style.Style({\r\n geometry: line,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(204, 85, 0, 1)',\r\n width: 1.5,\r\n }),\r\n }),\r\n );\r\n styles.push(\r\n clusterMemberStyle(\r\n new ol.Feature({\r\n ...clusterMembers[i].getProperties(),\r\n geometry: point,\r\n }),\r\n ),\r\n );\r\n return styles;\r\n }, []);\r\n }\r\n function generatePointsCircle(count, clusterCenter, resolution) {\r\n const circumference = 1 * 28 * (2 + count);\r\n let legLength = circumference / (Math.PI * 2); //radius from circumference\r\n const angleStep = (Math.PI * 2) / count;\r\n const res = [];\r\n let angle;\r\n legLength = Math.max(legLength, 35) * resolution; // Minimum distance to get outside the cluster icon.\r\n for (let i = 0; i < count; ++i) {\r\n // Clockwise, like spiral.\r\n angle = Math.PI / 2 + i * angleStep;\r\n res.push([\r\n clusterCenter[0] + legLength * Math.cos(angle),\r\n clusterCenter[1] + legLength * Math.sin(angle),\r\n ]);\r\n }\r\n return res;\r\n }\r\n function clusterHullStyle(cluster) {\r\n if (cluster !== t.clusterInfo.hoverFeature) {\r\n return;\r\n }\r\n const originalFeatures = cluster.get('features');\r\n const points = originalFeatures.map(feature => feature.getGeometry().getCoordinates());\r\n return new ol.style.Style({\r\n geometry: new ol.geom.Polygon(points),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 153, 0, 0.4)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(204, 85, 0, 1)',\r\n width: 1.5,\r\n }),\r\n });\r\n }\r\n function clusterStyle(feature) {\r\n const size = feature.get('features').length;\r\n if (size > 2) {\r\n return [\r\n new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 20,\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 153, 102, 0.3)',\r\n }),\r\n }),\r\n }),\r\n new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 14,\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 165, 0, 0.7)',\r\n }),\r\n }),\r\n text: new ol.style.Text({\r\n text: size.toString(),\r\n fill: new ol.style.Fill({\r\n color: '#fff',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.6)',\r\n width: 3,\r\n }),\r\n }),\r\n }),\r\n ];\r\n } else {\r\n return feature.get('features').map(originalFeature => clusterMemberStyle(originalFeature))\r\n }\r\n }\r\n }\r\n clearCluster(arg){\r\n const t = this;\r\n let ids = (arg && arg?.length>0) ? arg : t.state.pointIds;\r\n if(t.clusterInfo.clusterHulls){\r\n t.state.gis.removeLayer(t.clusterInfo.clusterHulls);\r\n t.clusterInfo.clusterHulls = null;\r\n }\r\n if(t.clusterInfo.clusters){\r\n t.state.gis.removeLayer(t.clusterInfo.clusters);\r\n t.clusterInfo.clusters = null;\r\n }\r\n if(t.clusterInfo.clusterCircles){\r\n t.state.gis.removeLayer(t.clusterInfo.clusterCircles);\r\n t.clusterInfo.clusterCircles = null;\r\n }\r\n ids.map(id=>{\r\n if(t.GM.getGraphic(id)){\r\n t.GM.removeGraphic(id);\r\n }\r\n t.state.pointIds.splice(t.state.pointIds.indexOf(id),1)\r\n })\r\n t.addPoint(t.props.mapPoints)\r\n t.refresh();\r\n }\r\n /*公共方法*/\r\n //判断extent1是否在extent2内部\r\n containsExtent(e1, e2) {\r\n let { xmin: xmin1, xmax: xmax1, ymin: ymin1, ymax: ymax1 } = e1;\r\n let { xmin: xmin2, xmax: xmax2, ymin: ymin2, ymax: ymax2 } = e2;\r\n return xmin2 > xmin1 && xmax2 < xmax1 && ymin2 > ymin1 && ymax2 < ymax1;\r\n }\r\n //将图元z-index设置成最高\r\n czIndex(id) {\r\n let t = this;\r\n $(`#${t.props.mapId}_graphics_layer`).append(t.GM.getGraphic(id).getNode());\r\n }\r\n equalsPoint(a, b) {\r\n return a.x == b.x && a.y == b.y;\r\n }\r\n //计算2点间距离 单位m 精确到2位小数\r\n calculatePointsDistance(fp, ep) {\r\n console.log(fp, ep)\r\n let distance = ol.sphere.getDistance(fp, ep);\r\n console.log(distance)\r\n return Math.round(distance);\r\n }\r\n //计算多个点的距离(常用于线计算)\r\n calculateDistance(ps) {\r\n let t = this,\r\n totalDistance = 0;\r\n if (ps.length < 0) {\r\n return 0;\r\n }\r\n for (let i = 0; i < ps.length; i++) {\r\n if (i < ps.length - 1) {\r\n const distance = t.calculatePointsDistance(ps[i], ps[i + 1])\r\n console.log(distance)\r\n totalDistance += distance;\r\n }\r\n }\r\n console.log(totalDistance)\r\n return Math.round(totalDistance * 100) / 100;\r\n }\r\n //处理线和面的 经纬度数据\r\n dealData(paths) {\r\n //区别点和圆的经纬度数据处理\r\n let lnglatAry = [],\r\n _extent = { xmax: 0, xmin: 0, ymax: 0, ymin: 0 },\r\n path = [];\r\n path = paths.map((item, index) => {\r\n let lng = item[0],\r\n lat = item[1];\r\n if (lng > _extent.xmax) {\r\n _extent.xmax = lng;\r\n }\r\n if (lng < _extent.xmin || _extent.xmin == 0) {\r\n _extent.xmin = lng;\r\n }\r\n if (lat > _extent.ymax) {\r\n _extent.ymax = lat;\r\n }\r\n if (lat < _extent.ymin || _extent.ymin == 0) {\r\n _extent.ymin = lat;\r\n }\r\n lnglatAry.push({\r\n lngX: lng,\r\n latX: lat,\r\n });\r\n return [lng, lat];\r\n });\r\n return { lnglatAry, _extent, path };\r\n }\r\n //处理点位图元的添加 和 更新\r\n dealLabelGraphics(id, label) {\r\n let t = this;\r\n if (label) {\r\n let position = (t.GM.getGraphic(id) || {}).geometry || label.position;\r\n //经纬度转top和left\r\n let tl = t.state.gis.toScreen(position),\r\n lbl = { ...label };\r\n //渲染優化\r\n if (\r\n !(tl.y < -50 || tl.x < -50 || tl.y > t.state.gis.height || tl.x > t.state.gis.width)\r\n ) {\r\n //设置label的位置(通过定位来实现)\r\n label.html.css({\r\n position: 'absolute',\r\n top: tl.y + (label.offset.y || 0) - t.labelLayer.y,\r\n left: tl.x + (label.offset.x || 0) - t.labelLayer.x,\r\n });\r\n //添加点位到(地图)\r\n $(`#${t.htmlPointsId}`).append(label.html);\r\n lbl.add = true;\r\n } else {\r\n lbl.add = false;\r\n }\r\n //记录下label的dom对象,用于后期修改和删除(基本是删除)\r\n t.Label[id] = lbl;\r\n }\r\n }\r\n //点的跳动动画\r\n pointAnimation(id, marker) {\r\n let t = this;\r\n //null时关闭跳动\r\n if (!!marker) {\r\n if (t.animTimer[id]) {\r\n clearInterval(t.animTimer[id]);\r\n }\r\n t.animTimer[id] = setInterval(() => {\r\n //点被隐藏时,没有执行,定时不关\r\n if (marker.symbol) {\r\n let shape = { ...marker.symbol };\r\n //初始数据 点位有变动,重新刷新数据\r\n if (!t.animCount[id] || shape.yoffset != t.animCount[id].now) {\r\n t.animCount[id] = {\r\n start: shape.yoffset,\r\n now: shape.yoffset,\r\n notation: -1,\r\n };\r\n }\r\n if (t.animCount[id].now - t.animCount[id].start == 20) {\r\n t.animCount[id].notation = -1;\r\n }\r\n if (t.animCount[id].now - t.animCount[id].start == 0) {\r\n t.animCount[id].notation = 1;\r\n }\r\n shape.yoffset = t.animCount[id].now =\r\n t.animCount[id].now + t.animCount[id].notation * 2;\r\n marker.symbol.setOffset(shape.xoffset, shape.yoffset);\r\n t.state.gis.graphics.refresh();\r\n }\r\n }, 35);\r\n } else {\r\n clearInterval(t.animTimer[id]);\r\n }\r\n }\r\n moveAnimation() {\r\n let t = this;\r\n if (t.moveToTimer) {\r\n clearInterval(t.moveToTimer);\r\n }\r\n t.moveToTimer = setInterval(() => {\r\n for (let i = 0; i < t.movePoints.length; i++) {\r\n t.movePoints[i].waitTime += 10;\r\n t.movePoints[i].deleteTime -= 10;\r\n }\r\n t.movePoints.sort((x, y) => {\r\n return y.waitTime - x.waitTime;\r\n });\r\n let nowMovePoints = t.movePoints.slice(0, 10),\r\n deleteIndex = [];\r\n for (let i = 0; i < nowMovePoints.length; i++) {\r\n let { id, rx, ry, waitTime, deleteTime, ddeg } = nowMovePoints[i];\r\n let gc = t.GM.getGraphic(id);\r\n if (!gc || !gc._graphicsLayer) {\r\n clearInterval(t.moveToTimer);\r\n } else {\r\n let gg = gc.getGeometry();\r\n let tx = gg[0] + rx, ty = gg[1] + ry;\r\n gc.setGeometry([tx, ty])\r\n t.movePoints[i].waitTime = 0;\r\n if (deleteTime <= 0) {\r\n deleteIndex.push(i);\r\n }\r\n }\r\n }\r\n deleteIndex.sort((a, b) => { return b - a });\r\n for (let i = 0; i < deleteIndex.length; i++) {\r\n t.movePoints.splice(deleteIndex[i], 1);\r\n }\r\n if (nowMovePoints.length == 0) {\r\n clearInterval(t.moveToTimer);\r\n }\r\n }, 10);\r\n }\r\n //点位移动动画效果\r\n moveTo(id, lnglat, delay, autoRotation, urlright, urlleft) {\r\n delay = delay || 3;\r\n let t = this,\r\n timer = 10;\r\n delay = eval(delay) * 1000;\r\n let count = delay / timer,\r\n gc = this.GM.getGraphic(id);\r\n let s = gc.geometry,\r\n e = { x: lnglat[0], y: lnglat[1] };\r\n if (t.equalsPoint(s, e)) {\r\n return false;\r\n } else {\r\n let ddeg = 0,\r\n url = null;\r\n //计算角度,旋转\r\n if (autoRotation) {\r\n //自己实现旋转\r\n ddeg = t.rotateDeg(gc.geometry, lnglat);\r\n if (urlleft && ddeg < -90 && ddeg > -270) {\r\n ddeg += 180;\r\n url = urlleft;\r\n } else {\r\n url = urlright;\r\n }\r\n gc.setStyle(new ol.style.Style({\r\n image: new ol.style.Icon({\r\n src: url,\r\n rotation: Math.PI / 180 * ddeg,\r\n })\r\n }))\r\n }\r\n //拆分延迟移动定位\r\n let rx = (e.x - s.x) / count,\r\n ry = (e.y - s.y) / count;\r\n let isHave = false;\r\n for (let i = 0; i < t.movePoints.length; i++) {\r\n if (t.movePoints[i].id == id) {\r\n t.movePoints.splice(i, 1, {\r\n id,\r\n rx,\r\n ry,\r\n waitTime: 0,\r\n deleteTime: delay,\r\n });\r\n isHave = true;\r\n }\r\n }\r\n if (!isHave) {\r\n t.movePoints.push({\r\n id,\r\n rx,\r\n ry,\r\n waitTime: 0,\r\n deleteTime: delay,\r\n });\r\n }\r\n }\r\n }\r\n //点位角度旋转(以指向东(右)为0°)\r\n rotateDeg(sp, ep) {\r\n let t = this;\r\n let spLngLat = sp;\r\n if (Array.isArray(sp)) {\r\n spLngLat = new ol.geom.Point(sp[0], sp[1]);\r\n }\r\n let s = t.state.gis.getPixelFromCoordinate(spLngLat),\r\n //获取当前点位的经纬度\r\n e = t.state.gis.getPixelFromCoordinate(new ol.geom.Point(ep[0], ep[1])),\r\n deg = 0;\r\n if (e.x != s.x) {\r\n var tan = (e.y - s.y) / (e.x - s.x),\r\n atan = Math.atan(tan);\r\n deg = (atan * 360) / (2 * Math.PI);\r\n //degree correction;\r\n if (e.x < s.x) {\r\n deg = -deg + 90 + 90;\r\n } else {\r\n deg = -deg;\r\n }\r\n deg = -deg;\r\n } else {\r\n var disy = e.y - s.y;\r\n var bias = 0;\r\n if (disy > 0) bias = -1;\r\n else bias = 1;\r\n if (disy == 0) bias = 0;\r\n deg = -bias * 90;\r\n }\r\n return deg;\r\n }\r\n //对比对象数据是否相等\r\n deepEqual(a, b) {\r\n return Immutable.is(Immutable.fromJS(a), Immutable.fromJS(b));\r\n }\r\n //数据解析(分析,新增,更新,删除对应的数据)\r\n dataMatch(oldData, newData, type) {\r\n let onlyOldData = Set(oldData)\r\n .subtract(Set(newData))\r\n .toJS();\r\n let onlyNewData = Set(newData)\r\n .subtract(Set(oldData))\r\n .toJS();\r\n let onlyOldIDs = onlyOldData.map(item => item[type]);\r\n let onlyNewIDs = onlyNewData.map(item => item[type]);\r\n let updateDataIDs = Set(onlyOldIDs)\r\n .intersect(Set(onlyNewIDs))\r\n .toJS();\r\n let updatedData = onlyNewData.filter(item => updateDataIDs.indexOf(item[type]) > -1);\r\n let replacedData = onlyOldData.filter(item => updateDataIDs.indexOf(item[type]) > -1);\r\n let deletedDataIDs = onlyOldIDs.filter(oldID => updateDataIDs.indexOf(oldID) == -1);\r\n let addedData = onlyNewData.filter(item => updateDataIDs.indexOf(item[type]) == -1);\r\n\r\n return { deletedDataIDs, addedData, updatedData, replacedData };\r\n }\r\n //处理需要增加图元的数据(避免意外问题)\r\n dealAdd(ary, ids) {\r\n let ads = [],\r\n otherupds = [];\r\n for (let i = 0; i < ary.length; i++) {\r\n if (ids.indexOf(ary[i].id) > -1) {\r\n otherupds.push(ary[i]);\r\n } else {\r\n ads.push(ary[i]);\r\n }\r\n }\r\n return { ads, otherupds };\r\n }\r\n //处理需要更新图元的数据(避免意外问题)\r\n dealUpdate(ary, ids) {\r\n let upds = [],\r\n otherads = [];\r\n for (let i = 0; i < ary.length; i++) {\r\n if (ids.indexOf(ary[i].id) > -1) {\r\n upds.push(ary[i]);\r\n } else {\r\n otherads.push(ary[i]);\r\n }\r\n }\r\n return { upds, otherads };\r\n }\r\n\r\n render() {\r\n let t = this;\r\n let _map = this.props;\r\n return <div id={_map.mapId} style={{ width: '100%', height: '100%' }}></div>;\r\n }\r\n //初始化\r\n componentDidMount() {\r\n let t = this;\r\n t.loadMapComplete.then(() => {\r\n t.init();\r\n });\r\n }\r\n //已加载组件,收到新的参数时调用\r\n componentWillReceiveProps(nextProps, prevProps) {\r\n let t = this;\r\n //点/线旧数据\r\n let { pointIds, lineIds, polygonIds, circleIds, drawIds } = t.state;\r\n let { point, polyline, polygon, circle, rectangle } = drawIds;\r\n //点/线新数据\r\n let {\r\n mapPoints = [], mapLines = [], mapPolygons = [], mapCircles = [], customizedBoundary = [],\r\n isOpenTrafficInfo, boundaryName, heatMapData,\r\n mapVisiblePoints, setVisiblePoints,\r\n setCenter, mapCenter,\r\n setZoomLevel, mapZoomLevel,\r\n setCluster, mapCluster,\r\n isRangingTool, mapRangingTool,\r\n isRemove, mapRemove,\r\n mapDraw, isDraw, isCloseDraw,\r\n editGraphicId, isDoEdit, isEndEdit,\r\n mapPointCollection, isclearAllPointCollection,\r\n isSetAreaRestriction, areaRestriction, isClearAreaRestriction,\r\n isClearAll, olProps\r\n } = nextProps;\r\n // 等待地图加载\r\n if (!t.state.mapCreated) return;\r\n /*点数据处理\r\n pointData[2]相同的点,执行刷新\r\n pointData[1]的数据在idsForGraphicId中不存在的,执行新增\r\n pointData[0]数据中多余的id,执行删除\r\n */\r\n if (mapPoints instanceof Array && t.props.mapPoints instanceof Array && !t.deepEqual(mapPoints, t.props.mapPoints)) {\r\n let oldMapPoints = t.props.mapPoints;\r\n let newMapPoints = mapPoints;\r\n //过滤编辑的图元\r\n if (!!t.editId) {\r\n oldMapPoints = t.props.mapPoints.filter((item) => { return item.id !== editGraphicId });\r\n newMapPoints = mapPoints.filter((item) => { return item.id !== editGraphicId });\r\n }\r\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapPoints, newMapPoints, 'id');\r\n let { ads, otherupds } = t.dealAdd(addedData, [...pointIds, ...point]);\r\n let { upds, otherads } = t.dealUpdate(updatedData, [...pointIds, ...point]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n let index = 0;\r\n const removeGraphic = (id) => {\r\n t.removeGraphic(id, 'point');\r\n if (index < deletedDataIDs.length -1) {\r\n requestIdleCallback(() => removeGraphic(deletedDataIDs[++index]))\r\n }\r\n }\r\n if (!isEmpty(deletedDataIDs)) {\r\n removeGraphic(deletedDataIDs[index])\r\n }\r\n //增加\r\n t.addPoint([...ads, ...otherads]);\r\n //更新\r\n t.updatePoint([...upds, ...otherupds]);\r\n }\r\n /*\r\n 线数据处理\r\n 先全删除,再新增\r\n */\r\n if (mapLines instanceof Array && t.props.mapLines instanceof Array && !t.deepEqual(mapLines, t.props.mapLines)) {\r\n let oldMapLines = t.props.mapLines;\r\n let newMapLines = mapLines;\r\n if (!!t.editId) {\r\n oldMapLines = t.props.mapLines.filter((item) => { return item.id !== editGraphicId });\r\n newMapLines = mapLines.filter((item) => { return item.id !== editGraphicId });\r\n }\r\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapLines, newMapLines, 'id');\r\n let { ads, otherupds } = t.dealAdd(addedData, [...lineIds, ...polyline]);\r\n let { upds, otherads } = t.dealUpdate(updatedData, [...lineIds, ...polyline]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for (let id of deletedDataIDs) {\r\n t.removeGraphic(id, 'line');\r\n }\r\n //增加\r\n t.addLine([...ads, ...otherads]);\r\n //更新\r\n t.updateLine([...upds, ...otherupds]);\r\n }\r\n /*\r\n 面数据处理\r\n 先全删除,再新增\r\n */\r\n if (mapPolygons instanceof Array && t.props.mapPolygons instanceof Array && !t.deepEqual(mapPolygons, t.props.mapPolygons)) {\r\n let oldMapPolygons = t.props.mapPolygons;\r\n let newMapPolygons = mapPolygons;\r\n if (!!t.editId) {\r\n oldMapPolygons = t.props.mapPolygons.filter((item) => { return item.id !== editGraphicId });\r\n newMapPolygons = mapPolygons.filter((item) => { return item.id !== editGraphicId });\r\n }\r\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapPolygons, newMapPolygons, 'id');\r\n let { ads, otherupds } = t.dealAdd(addedData, [...rectangle, ...polygon, ...polygonIds]);\r\n let { upds, otherads } = t.dealUpdate(updatedData, [...rectangle, ...polygon, ...polygonIds]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for (let id of deletedDataIDs) {\r\n t.removeGraphic(id, 'polygon');\r\n }\r\n //增加\r\n t.addPolygon([...ads, ...otherads]);\r\n //更新\r\n t.updatePolygon([...upds, ...otherupds]);\r\n }\r\n /*\r\n 圆数据处理\r\n 先全删除,再新增\r\n */\r\n if (mapCircles instanceof Array && t.props.mapCircles instanceof Array && !t.deepEqual(mapCircles, t.props.mapCircles)) {\r\n let oldMapCircles = t.props.mapCircles;\r\n let newMapCircles = mapCircles;\r\n if (!!t.editId) {\r\n oldMapCircles = t.props.mapCircles.filter((item) => { return item.id !== editGraphicId });\r\n newMapCircles = mapCircles.filter((item) => { return item.id !== editGraphicId });\r\n }\r\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapCircles, newMapCircles, 'id');\r\n let { ads, otherupds } = t.dealAdd(addedData, [...circleIds, ...circle]);\r\n let { upds, otherads } = t.dealUpdate(updatedData, [...circleIds, ...circle]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for (let id of deletedDataIDs) {\r\n t.removeGraphic(id, 'circle');\r\n }\r\n //增加\r\n t.addCircle([...ads, ...otherads]);\r\n //更新\r\n t.updateCircle([...upds, ...otherupds]);\r\n }\r\n //图元编辑调用\r\n if ((typeof (isDoEdit) == 'boolean' && isDoEdit) || (isDoEdit && isDoEdit !== t.props.isDoEdit)) {\r\n t.doEdit(editGraphicId);\r\n }\r\n // 获取热力图\r\n if (heatMapData && heatMapData.data && !t.deepEqual(heatMapData, t.props.heatMapData)) {\r\n t.heatMapOverlay(heatMapData);\r\n }else if(!t.deepEqual(heatMapData, t.props.heatMapData)){\r\n t.clearHeatMap(heatMapData);\r\n }\r\n //清空地图\r\n if ((typeof (isClearAll) == 'boolean' && isClearAll) || (isClearAll && isClearAll !== t.props.isClearAll)) {\r\n t.clearAll();\r\n }\r\n //测距工具调用\r\n if ((typeof (isRangingTool) == 'boolean' && isRangingTool) || (isRangingTool && isRangingTool !== t.props.isRangingTool)) {\r\n t.vtxRangingTool(mapRangingTool);\r\n }\r\n /*设置指定图元展示*/\r\n if ((typeof (setVisiblePoints) == 'boolean' && setVisiblePoints) || (setVisiblePoints && setVisiblePoints !== t.props.setVisiblePoints)) {\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n //设置中心点\r\n // if ((typeof (setCenter) == 'boolean' && setCenter) || (setCenter && setCenter !== t.props.setCenter)) {\r\n // if (!(t.getCurrentCenter().lng == mapCenter[0] && t.getCurrentCenter().lat == mapCenter[1])) {\r\n // t.setCenter(mapCenter);\r\n // }\r\n // }\r\n if(nextProps.mapCenter &&nextProps.mapCenter.length>0 && JSON.stringify(nextProps.mapCenter)!==JSON.stringify(this.props.mapCenter)){\r\n t.setCenter(mapCenter);\r\n }\r\n //设置点聚合\r\n if ((typeof (setCluster) == 'boolean' && setCluster) || (setCluster && setCluster !== t.props.setCluster)) {\r\n t.cluster(mapCluster);\r\n }\r\n\r\n if(!setCluster && setCluster !== t.props.setCluster){\r\n t.clearCluster(mapCluster);\r\n }\r\n //图元编辑调用\r\n if ((typeof (isDoEdit) == 'boolean' && isDoEdit) || (isDoEdit && isDoEdit !== t.props.isDoEdit)) {\r\n t.doEdit(editGraphicId);\r\n }\r\n //关闭图元编辑\r\n if ((typeof (isEndEdit) == 'boolean' && isEndEdit) || (isEndEdit && isEndEdit !== t.props.isEndEdit)) {\r\n t.endEdit();\r\n }\r\n //绘制图元\r\n if ((typeof (isDraw) == 'boolean' && isDraw) || (isDraw && isDraw !== t.props.isDraw)) {\r\n t.draw(mapDraw);\r\n }\r\n //关闭绘制\r\n if ((typeof (isCloseDraw) == 'boolean' && isCloseDraw) || (isCloseDraw && isCloseDraw !== t.props.isCloseDraw)) {\r\n t.closeDraw();\r\n }\r\n //单独删除操作\r\n if ((typeof (isRemove) == 'boolean' && isRemove) || (isRemove && isRemove !== t.props.isRemove)) {\r\n mapRemove.map((item, index) => {\r\n t.removeGraphic(item.id, item.type);\r\n });\r\n }\r\n //设置区域限制\r\n if ((typeof (isSetAreaRestriction) == 'boolean' && isSetAreaRestriction)\r\n || (isSetAreaRestriction && isSetAreaRestriction !== t.props.isSetAreaRestriction)\r\n && areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]) {\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n //关闭区域限制\r\n if ((typeof (isClearAreaRestriction) == 'boolean' && isClearAreaRestriction) || (isClearAreaRestriction && isClearAreaRestriction !== t.props.isClearAreaRestriction)) {\r\n t.clearAreaRestriction();\r\n }\r\n // 设置地图层级\r\n if((typeof(setZoomLevel) == 'boolean' && setZoomLevel) || (setZoomLevel && setZoomLevel !== t.props.setZoomLevel)){\r\n t.setZoomLevel(mapZoomLevel);\r\n }\r\n // 比例尺控件位置改变\r\n if(nextProps.showControl && JSON.stringify(nextProps.showControl)!=JSON.stringify(t.props.showControl)){\r\n t.showControl(nextProps);\r\n }\r\n // 更新需要加载的图层\r\n if(nextProps.olProps && JSON.stringify(nextProps.olProps) !== JSON.stringify(t.props.olProps)) {\r\n t.loadLayers(nextProps.olProps.olCoverage, t.props.olProps.olCoverage);\r\n }\r\n }\r\n // 地图事件\r\n //地图点击事件\r\n clickMap(e) {\r\n let t = this;\r\n if (typeof t.props.clickMap === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n obj.clickLngLat = {\r\n lng: e.coordinate ? e.coordinate[0] : undefined,\r\n lat: e.coordinate ? e.coordinate[1] : undefined,\r\n };\r\n obj.pixel = {\r\n x: e.pixel ? e.pixel[0] : undefined,\r\n y: e.pixel ? e.pixel[1] : undefined,\r\n };\r\n let temp = [];\r\n t.olLayers.map(item=>{\r\n if(item.layer){\r\n temp.push(t.getFeatureInfo(e,t.state.gis.getView(),item.layer.getSource()));\r\n }\r\n })\r\n if(temp.length){\r\n obj.features = temp;\r\n }\r\n t.props.clickMap(obj);\r\n }\r\n }\r\n // 获取geoServer要素\r\n getFeatureInfo(event, view, source) {\r\n let sourceParam = source.getParams();\r\n let url = source.getFeatureInfoUrl(event.coordinate, view.getResolution(), view.getProjection(), {\r\n cql_filter: sourceParam?.cql_filter,\r\n QUERY_LAYERS: sourceParam?.layers,\r\n INFO_FORMAT: 'application/json',\r\n REQUEST: \"GetFeatureInfo\",\r\n FEATURE_COUNT: 50,\r\n });\r\n let {param, address} = this.formatUrl(url);\r\n // let temp = param.BBOX.split(\",\");\r\n // let BBOX = [temp[1],temp[0],temp[3],temp[2]].join(\",\");\r\n // param.BBOX = BBOX;\r\n param.QUERY_LAYERS = param.LAYERS;\r\n let temp=[];\r\n for(let key in param){\r\n temp.push(`${key}=${param[key]}`);\r\n }\r\n address += `?${temp.join(\"&\")}`;\r\n const geoJsonFormat = new ol.format.GeoJSON();\r\n return fetch(address)\r\n .then(res => res.json())\r\n .then(data => {\r\n let features = [];\r\n if (data?.features?.length) {\r\n features = geoJsonFormat.readFeatures(data);\r\n features.map(item => {\r\n item.key = this?.key;\r\n });\r\n }\r\n return features;\r\n })\r\n .catch(() => {\r\n return [];\r\n });\r\n }\r\n // 要素鼠标悬浮事件\r\n mouseOverGraphic(id, e) {\r\n let t = this;\r\n if (t.state.editId == id) return false;\r\n if (typeof t.props.mouseOverGraphic === 'function') {\r\n let obj = {\r\n e,\r\n id,\r\n param: t.getGraphic(id),\r\n top: e.pixel ? e.pixel[0] : undefined, //当前点所在的位置(屏幕)\r\n left: e.pixel ? e.pixel[1] : undefined,\r\n };\r\n t.props.mouseOverGraphic(obj);\r\n }\r\n }\r\n // 要素鼠标移开事件\r\n mouseOutGraphic(id, e) {\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if (t.state.editId == id) return false;\r\n if (typeof t.props.mouseOutGraphic === 'function') {\r\n let obj = {\r\n e,\r\n id,\r\n param: t.getGraphic(id),\r\n top: e.pixel ? e.pixel[0] : undefined, //当前点所在的位置(屏幕)\r\n left: e.pixel ? e.pixel[1] : undefined,\r\n };\r\n t.props.mouseOutGraphic(obj);\r\n }\r\n }\r\n //地图拖动之前事件\r\n dragMapStart(e) {\r\n let t = this;\r\n if (typeof t.props.dragMapStart === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapStart(obj);\r\n }\r\n }\r\n //地图拖动结束后事件\r\n dragMapEnd(e) {\r\n let t = this;\r\n if (typeof t.props.dragMapEnd === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapEnd(obj);\r\n }\r\n }\r\n //热力图\r\n heatMapOverlay(d = {}) {\r\n let t = this;\r\n let cg = {\r\n radius: 20,\r\n max: 100,\r\n visible: true,\r\n opacity: 0.7,\r\n gradient: ['#00f', '#0ff', '#0f0', '#ff0', '#f00'],\r\n };\r\n if (d.config) {\r\n cg = { ...cg, ...d.config };\r\n }\r\n let gradient = [];\r\n if (cg.gradient) {\r\n for (let key in cg.gradient) {\r\n gradient.push(cg.gradient[key])\r\n }\r\n cg.gradient = gradient;\r\n }\r\n // if(d.data){\r\n // t.state.pointIds = [];\r\n // t.pointLayers.map(item => {\r\n // t.state.gis.removeLayer(item.layer);\r\n // t.pointLayers=[];\r\n // })\r\n // }\r\n const heatData = {\r\n type: 'FeatureCollection',\r\n features: (d.data || []).map(item => {\r\n return {\r\n type: 'Feature',\r\n properties: {\r\n weight: item.count ? item.count / 100 : 0.5,\r\n },\r\n geometry: {\r\n type: 'Point',\r\n coordinates: [item.lng, item.lat],\r\n }\r\n }\r\n })\r\n }\r\n let heatSource = new ol.source.Vector({\r\n features: new ol.format.GeoJSON().readFeatures(heatData)\r\n })\r\n t.heatmap = new ol.layer.Heatmap({\r\n name: 'heatmap',\r\n source: heatSource,\r\n radius: cg.radius,\r\n visible: cg.visible,\r\n blur: eval(cg.opacity) * 100,\r\n gradient: gradient,\r\n weight: (e) => {\r\n return e.getProperties().count;//根据权重展示热力图!关键点,weight范围为:0-1!!!\r\n },\r\n });\r\n t.state.gis.addLayer(t.heatmap);\r\n\r\n }\r\n clearHeatMap(){\r\n const t = this;\r\n if(t.heatmap)\r\n t.state.gis.removeLayer(t.heatmap);\r\n t.heatmap = null;\r\n t.refresh();\r\n }\r\n //地图移动之前事件\r\n moveStart(e) {\r\n let t = this;\r\n if (typeof t.props.moveStart === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveStart(obj);\r\n }\r\n }\r\n //地图移动结束后事件\r\n moveEnd(e) {\r\n let t = this;\r\n if (typeof t.props.moveEnd === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveEnd(obj);\r\n }\r\n }\r\n //地图更改缩放级别开始时触发触发此事件\r\n zoomStart(e) {\r\n let t = this;\r\n if (typeof (t.props.zoomStart) === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.zoomStart(obj);\r\n }\r\n }\r\n //地图更改缩放级别结束时触发触发此事件\r\n zoomEnd(e) {\r\n let t = this;\r\n if (typeof (t.props.zoomEnd) === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.zoomEnd(obj);\r\n }\r\n }\r\n // 图元点击事件\r\n clickGraphic(id, e, target = {}) {\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if (t.editId == id) return false;\r\n if (typeof t.props.clickGraphic === 'function') {\r\n const [clientX, clientY] = e.pixel;\r\n let param = t.getGraphic(id, clientX, clientY);\r\n let obj = {\r\n param,\r\n info: target,\r\n type: param ? param.geometry.type : null, //图元类型\r\n attributes: param ? { ...param.attributes.other, ...{ config: param.attributes.config } } : null, //添加时图元信息\r\n top: clientY, //当前点所在的位置(屏幕)\r\n left: clientX,\r\n e: e,\r\n };\r\n t.props.clickGraphic(obj);\r\n }\r\n }\r\n componentWillUnmount() {\r\n //关闭moveTo定时\r\n let t = this;\r\n if (t.moveToTimer) {\r\n clearInterval(t.moveToTimer);\r\n }\r\n //关闭animation定时\r\n for (let j in t.animTimer) {\r\n if (t.animTimer[j]) {\r\n clearInterval(t.animTimer[j]);\r\n }\r\n }\r\n window.VtxMap && (window.VtxMap[t.state.mapId]= null);\r\n }\r\n}\r\nexport default OlMap;\r\n\r\nclass Popup extends React.Component{\r\n constructor(props){\r\n super();\r\n this.map = props.map;\r\n this.position = props.position;\r\n this.overlay = null;\r\n this.container = null;\r\n this.innerHTML = props.innerHTML;\r\n this.closeble = props.close;\r\n }\r\n \r\n // 弹出框\r\n showPopup () {\r\n const t = this;\r\n this.removePopup()\r\n // 获取弹出层DOM\r\n t.container = document.createElement(\"div\");\r\n t.container['className'] = \"ol-popup\";\r\n if(t.closeble){\r\n let close = document.createElement(\"a\");\r\n close['className'] = \"ol-popup-closer\";\r\n close.addEventListener(\"click\",(e)=>{\r\n t.removePopup();\r\n })\r\n t.container.appendChild(close);\r\n }\r\n let content = document.createElement(\"div\");\r\n t.container.appendChild(content);\r\n if (t.overlay) {\r\n } else {\r\n // 创建Overlay弹出层绑定DOM\r\n t.overlay = new ol.Overlay({\r\n element: t.container,\r\n autoPan: {\r\n animation: {\r\n duration: 250\r\n }\r\n }\r\n })\r\n // 添加到map\r\n t.map.addOverlay(t.overlay)\r\n }\r\n // 弹出层内容\r\n content.innerHTML = t.innerHTML;\r\n // 设置弹出层位置即可出现\r\n t.overlay.setPosition(t.position)\r\n }\r\n // 清除弹出框\r\n removePopup () {\r\n if (this.overlay) {\r\n this.container.remove();\r\n // 设置位置undefined可达到隐藏清除弹出框\r\n this.overlay.setPosition(undefined);\r\n this.overlay = null;\r\n }\r\n }\r\n}\r\n\r\nfunction getRgbColor(color, opacity) {\r\n const reg = /^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/;\r\n if (!reg.test(color) && typeof(color) !== 'string') {\r\n return;\r\n }\r\n let newStr = color.toLowerCase().replace(/\\#/g, '');\r\n let len = newStr.length;\r\n if (len == 3) {\r\n let t = '';\r\n for (var i = 0; i < len; i++) {\r\n t += newStr.slice(i, i + 1).concat(newStr.slice(i, i + 1));\r\n }\r\n newStr = t;\r\n }\r\n let arr = []; //将字符串分隔,两个两个的分隔\r\n for (var i = 0; i < 6; i = i + 2) {\r\n let s = newStr.slice(i, i + 2);\r\n arr.push(parseInt('0x' + s));\r\n }\r\n return 'rgba(' + arr.join(',') + ',' + opacity + ')';\r\n}\r\n\r\n// 压缩图片的方法\r\nfunction canvasDataURL(path, obj, callback) {\r\n var img = new Image();\r\n img.src = path;\r\n img.setAttribute(\"crossOrigin\", 'Anonymous')\r\n img.onload = function () {\r\n var that = this;\r\n // 默认按比例压缩\r\n var w = that.width,\r\n h = that.height,\r\n scale = w / h;\r\n w = obj.width || w;\r\n h = obj.height || (w / scale);\r\n var quality = 0.7; // 默认图片质量为0.7\r\n //生成canvas\r\n var canvas = document.createElement('canvas');\r\n var ctx = canvas.getContext('2d');\r\n // 创建属性节点\r\n var anw = document.createAttribute(\"width\");\r\n anw.nodeValue = w;\r\n var anh = document.createAttribute(\"height\");\r\n anh.nodeValue = h;\r\n canvas.setAttributeNode(anw);\r\n canvas.setAttributeNode(anh);\r\n ctx.drawImage(that, 0, 0, w, h);\r\n // 图像质量\r\n if (obj.quality && obj.quality <= 1 && obj.quality > 0) {\r\n quality = obj.quality;\r\n }\r\n // quality值越小,所绘制出的图像越模糊\r\n var base64 = canvas.toDataURL('image/png', quality);\r\n // 回调函数返回base64的值\r\n callback(base64);\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Map.js","names":["_react","_interopRequireDefault","require","_default2","_MapToolFunction","_immutable","_lodash","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","from","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","Object","toString","slice","name","test","len","arr2","r","l","t","u","a","push","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","_toPropertyKey","key","_createClass","protoProps","staticProps","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","getPrototypeOf","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","Set","Immutable","OlMap","_React$Component","_super","_this","nextLayers","currentLayers","first","addLayers","item","map","coverage","includes","removeLayers","exist","olLayers","find","address","layer","setVisible","startsWith","type","addSuperMapLayer","addGeoServerLayer","addGeoServerImageLayer","indexOf","addTileLayer","JSON","parse","OL_SCREEN","layers","eval","initLayer","state","gis","addLayer","zIndexGraphics","htmlPointsId","pointCollectionId","Label","labelLayer","x","y","viewer","GM","graphicManage","getPolygonArea","loadTimer","animTimer","animCount","moveToTimer","drawToolbar","drawParam","editToolbar","editId","drawSource","drawVector","drawInfo","sketch","listener","scaleControl","pointLayers","mouseNowPosition","px","py","isCount","heatmap","clusterMarkers","clusterPs","clusterPt","morepoints","areaRestriction","movePoints","baseLayer","rangingTool","isRanging","line","points","distance","mapRangingTool","rangingTools","rangingInfo","helpTooltipElement","helpTooltip","measureTooltipElement","measureTooltip","deleteToolTipElement","deleteToolTip","continuePolygonMsg","continueLineMsg","drawElements","drawLayer","feature","draw","clusterInfo","clickFeature","clickResolution","hoverFeature","clusterSource","clusterHulls","clusters","clusterCircles","mapCreated","mapId","pointIds","lineIds","polygonIds","circleIds","editGraphic","boundaryInfo","drawIds","point","polyline","polygon","circle","rectangle","frameSelectProps","loadMapJs","loadMapComplete","Promise","resolve","reject","window","$","getScript","concat","configUrl","openlayerServerURL","PointCollection","mapServerURL","Client9","all","then","attr","rel","href","appendTo","init","_this2","createMap","ol","source","Vector","wrapX","initData","_t$props","mapPoints","mapLines","mapPolygons","mapCircles","mapVisiblePoints","mapCluster","mapPointCollection","heatMapData","setCenter","addPoint","addLine","addPolygon","addCircle","showControl","heatMapOverlay","cluster","setVisiblePoints","addPointCollection","setAreaRestriction","event","status","overall_feature","dragAddMoveFlag","on","getTargetElement","classList","add","remove","evt","forEachFeatureAtPixel","pixel","getProperties","id","elementId","features","properties","element","clickGraphic","clickMap","getEventPixel","originalEvent","hit","hasFeatureAtPixel","style","cursor","values","mouseOverGraphic","dispatchEvent","mouseOutGraphic","dragMapStart","moveStart","zoom","dragMapEnd","moveEnd","zoomStart","setTimeout","zoomEnd","center","_t$props2","_t$props2$olProps","olProps","_t$props2$mapCenter","mapCenter","mapZoomLevel","minZoom","maxZoom","projection","olCoverage","VtxMap","parseFloat","Map","view","View","controls","control","defaults","rotate","attribution","loadLayers","initPropsForUser","getWMTS","options","url","params","sourceOptions","matrixIds","resolutions","tilegrid","WMTS","extent","tileSize","origin","proj","Projection","code","units","axisOrientation","format","matrixSet","tileGrid","_ref","_ref$params","_ref$sourceOptions","layerSource","XYZ","Tile","TileSuperMapRest","vectorSource","GeoJSON","join","strategy","loadingstrategy","bbox","_icon$","el","A","icon","mapIcon","Style","image","Icon","scale","src","stroke","Stroke","color","width","fill","Fill","formatUrl","param","split","json","toUpperCase","decodeURIComponent","_this$formatUrl","_this$formatUrl$param","ImageWMS","serverType","crossOrigin","ratio","VERSION","Image","getCenter","gt","getZoomLevel","showInfoWindow","hideInfoWindow","callback","frameSelect","clearFrameSelect","clearFrameSelectById","refresh","c","lng","lat","getView","animate","duration","setZoomLevel","z","getZoom","setZoom","_gis$getView$calculat","calculateExtent","getSize","_gis$getView$calculat2","xmin","ymin","xmax","ymax","doEdit","gc","getGraphic","gp","getGraphicParam","endEdit","interaction","Modify","hitDetection","addInteraction","geometry","cur","_cur$flatCoordinates","flatCoordinates","attributes","longitude","latitude","other","geometryType","mapLayer","oddList","evenList","index","path","_t$dealData","dealData","lnglatAry","_extent","paths","calculateDistance","_t$dealData2","rings","area","sketchCoords_","sketchCoords_2","radius","sphere","getDistance","Math","PI","pow","editGraphicChange","setGraphic","setGraphicParam","removeInteraction","parameter","data","Date","getTime","removeGraphic","splice","anchor","markerContentX","markerContentY","anchorXUnits","anchorYUnits","opacity","geometryFunction","stoke","lineWidth","lineDash","lineType","pellucidity","getRgbColor","Draw","createBox","_t$frameSelectProps$p","finishDrawing","getGeometry","_gc$flatCoordinates","isRepetition","updatePoint","config","height","updateLine","_t$dealData3","updatePolygon","_t$dealData4","getCoordinates","_t$dealData5","updateCircle","drawEnd","Function","closeDraw","vtxRangingTool","Circle","createHelpTooltip","createMeasureTooltip","createDeleteTooltip","tooltipCoord","coordinate","geom","lngLats","output","formatLength","getLastCoordinate","lnglats","innerHTML","setPosition","setOffset","className","Observable","unByKey","parentNode","removeChild","document","createElement","Overlay","offset","positioning","addOverlay","stopEvent","insertFirst","addEventListener","removeOverlay","removeLayer","round","getMapExtent","nowBounds","southWest","northEast","nowCenter","_gis$getSize","_gis$getSize2","mapSize","ary","fitView","g","displayRange","boundingExtent","fit","getFitView","ids","maxX","maxY","minX","minY","coord","boundsArry","getExtent","min","max","bounds","getCurrentCenter","gg","pts","parseDom","domStr","domObj","childNodes","d","getPixelFromCoordinate","_t$state$gis$getSize","_t$state$gis$getSize2","size","shape","VotexpointCollection","GMapLib","updatePointCollection","ds","ind","_t$state$gis$getSize3","_t$state$gis$getSize4","reDraw","clearPointCollection","clear","clearAllPointCollection","_ref2","_ref2$parameter","_ref2$data","message","warn","random","lineColor","lineOpacity","popupWindow","Popup","position","content","close","showPopup","removePopup","_this3","ps","psids","console","Feature","Point","cg","labelContent","labelPixelX","labelPixelY","zIndex","deg","txt","myImage","markerContent","nodes","clientX","clientY","pop","autoPanMargin","autoPan","canvasDataURL","base64","img","imgSize","canShowLabel","textStyle","textAlign","textBaseline","font","text","offsetX","offsetY","backgroundFill","padding","labelStyle","Text","setStyle","pointLayer","BAnimationType","marker","setAnimation","BMAP_ANIMATION_BOUNCE","BMAP_ANIMATION_DROP","setState","_this4","dealPoint","overlay","getOverlayById","setElement","changed","rotation","setGeometry","requestIdleCallback","isEmpty","timer","clearTimeout","redrawText","_this5","ls","lsids","isHidden","LineString","lineLayer","itt","_this6","_this7","pgs","pgsids","Polygon","polygonLayer","_this8","ccsids","metersPerUnit","getProjection","getMetersPerUnit","circleRadius","circleLayer","graphic","html","removeFeature","removeGraphicParam","clearAll","getLayers","hMap","getSource","_t$state","cs","removeControl","ScaleLine","location","addControl","css","left","top","bottom","right","_t$dealData6","_et","setProperties","clearAreaRestriction","dealAreaRestriction","contains","_t$areaRestriction","xmin1","xmax1","ymin1","ymax1","_e$extent","xmin2","xmax2","ymin2","ymax2","ms","getMoreGraphic","getType","label","Cluster","minDistance","setSource","clusterHullStyle","clusterStyle","clusterCircleStyle","clusterMemberStyle","clusterMember","getStyle","getImage","getText","resolution","clusterMembers","get","centerCoordinates","generatePointsCircle","reduce","styles","coordinates","unshift","count","clusterCenter","circumference","legLength","angleStep","angle","cos","sin","originalFeatures","originalFeature","clearCluster","containsExtent","e1","e2","czIndex","append","getNode","equalsPoint","b","calculatePointsDistance","fp","ep","log","totalDistance","lngX","latX","dealLabelGraphics","tl","toScreen","lbl","pointAnimation","clearInterval","setInterval","symbol","yoffset","now","start","notation","xoffset","graphics","moveAnimation","waitTime","deleteTime","sort","nowMovePoints","deleteIndex","_nowMovePoints$_i","rx","ry","ddeg","_graphicsLayer","tx","ty","moveTo","lnglat","delay","autoRotation","urlright","urlleft","rotateDeg","isHave","sp","spLngLat","tan","atan","disy","bias","deepEqual","is","fromJS","dataMatch","oldData","newData","onlyOldData","subtract","toJS","onlyNewData","onlyOldIDs","onlyNewIDs","updateDataIDs","intersect","updatedData","replacedData","deletedDataIDs","oldID","addedData","dealAdd","ads","otherupds","dealUpdate","upds","otherads","render","_map","componentDidMount","UNSAFE_componentWillReceiveProps","nextProps","prevProps","_t$state2","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","customizedBoundary","isOpenTrafficInfo","boundaryName","setCluster","isRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isclearAllPointCollection","isSetAreaRestriction","isClearAreaRestriction","isClearAll","oldMapPoints","newMapPoints","_t$dataMatch","_t$dealAdd","_t$dealUpdate","oldMapLines","newMapLines","_t$dataMatch2","_t$dealAdd2","_t$dealUpdate2","_iterator","_step","oldMapPolygons","newMapPolygons","_t$dataMatch3","_t$dealAdd3","_t$dealUpdate3","_iterator2","_step2","oldMapCircles","newMapCircles","_t$dataMatch4","_t$dealAdd4","_t$dealUpdate4","_iterator3","_step3","clearHeatMap","stringify","clickLngLat","temp","getFeatureInfo","_this9","sourceParam","getParams","getFeatureInfoUrl","getResolution","cql_filter","QUERY_LAYERS","INFO_FORMAT","REQUEST","FEATURE_COUNT","_this$formatUrl2","LAYERS","geoJsonFormat","fetch","_data$features","readFeatures","visible","gradient","heatData","weight","heatSource","Heatmap","blur","_e$pixel","info","componentWillUnmount","j","React","Component","_default","exports","_React$Component2","_super2","_this10","container","closeble","appendChild","animation","reg","newStr","toLowerCase","replace","parseInt","setAttribute","onload","that","w","h","quality","canvas","ctx","getContext","anw","createAttribute","nodeValue","anh","setAttributeNode","drawImage","toDataURL","module"],"sources":["VtxMap/OlMap/Map.js"],"sourcesContent":["import React from 'react';\r\n\r\n//公共地址配置\r\nimport configUrl from '../../default';\r\n\r\nimport { graphicManage, getPolygonArea } from '../MapToolFunction';\r\nimport Immutable from 'immutable';\r\nimport { isArray, isEmpty } from 'lodash';\r\nconst { Set } = Immutable;\r\n\r\nclass OlMap extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.zIndexGraphics = []; //需要放在最后的图元,zoom和pan时刷新dom到最后\r\n this.htmlPointsId = 'vtx_gmap_html_points'; //html点位容器id class管理\r\n this.pointCollectionId = 'vtx_gmap_html_pointCollection'; //海量点canvas点位容器id class管理\r\n this.Label = {}; //所有label 集合\r\n this.labelLayer = { x: 0, y: 0 }; //label图层 位置管理\r\n this.viewer = null;\r\n this.GM = new graphicManage(); //初始化 图元管理方法\r\n this.getPolygonArea = getPolygonArea;\r\n this.layer = null; //保存地图图层数据\r\n this.loadTimer = null; //初始化地图 load时延缓数据处理\r\n this.animTimer = {}; //点位跳动动画 定时集合\r\n this.animCount = {}; //点位跳动动画 定时计数\r\n this.moveToTimer = null; //moveTo时间对象\r\n this.drawToolbar = null; //地图绘制对象即interaction\r\n this.drawParam = {}; //缓存 绘制的数据\r\n this.editToolbar = null; //编辑对象\r\n this.editId = ''; //当前编辑的图元id\r\n this.drawSource = null;\r\n this.drawVector = null;\r\n // 图元绘制保存\r\n this.drawInfo = {\r\n sketch: null,\r\n listener: null,\r\n };\r\n this.scaleControl = null;\r\n this.pointLayers = [];\r\n this.mouseNowPosition = { x: 0, y: 0, px: 0, py: 0, isCount: false };\r\n this.heatmap = null; //热力图对象\r\n this.clusterMarkers = []; //聚合点位id数组\r\n this.clusterPs = []; //聚合集合点\r\n this.clusterPt = []; //地图中聚合点集合\r\n this.morepoints = []; //海量点集合\r\n this.areaRestriction = null; //区域限制数据\r\n this.movePoints = [];\r\n this.olLayers = []; // ol图层集合 {address:'', layer: ''}\r\n this.baseLayer = null; // 地图图层\r\n //是否绘制测距\r\n this.rangingTool = {\r\n isRanging: false, //是否开启状态\r\n line: {}, //线\r\n points: [], //点\r\n distance: 0, //测距长度\r\n mapRangingTool: null, //测距回调\r\n };\r\n this.rangingTools = {}; //测距点线缓存\r\n this.rangingInfo = {\r\n sketch: null,\r\n helpTooltipElement: null,\r\n helpTooltip: null,\r\n measureTooltipElement: null,\r\n measureTooltip: null,\r\n deleteToolTipElement: null,\r\n deleteToolTip: null,\r\n continuePolygonMsg: '点击继续绘制图形',\r\n continueLineMsg: '点击继续绘制线',\r\n listener: null,\r\n drawElements: [],\r\n drawLayer: null,\r\n feature: null,\r\n draw: null,\r\n }\r\n this.clusterInfo = {\r\n clickFeature: null,\r\n clickResolution: null,\r\n hoverFeature: null,\r\n clusterSource: null,\r\n clusterHulls: null,\r\n clusters: null,\r\n clusterCircles: null,\r\n };\r\n this.mapCreated = false;\r\n this.state = {\r\n gis: null, //地图对象\r\n mapId: props.mapId,\r\n pointIds: [], //地图上点的ids\r\n lineIds: [], //地图上线的ids\r\n polygonIds: [], //地图上面的ids\r\n circleIds: [], //地图上圆的ids\r\n editGraphic: '', //当前编辑完后图元所有数据\r\n boundaryInfo: [], //当前画出的边界线的id和区域名\r\n drawIds: {\r\n //绘制工具id集合\r\n point: [],\r\n polyline: [],\r\n polygon: [],\r\n circle: [],\r\n rectangle: [],\r\n },\r\n };\r\n this.frameSelectProps = {};\r\n this.loadMapJs();\r\n }\r\n // 引入ol样式\r\n loadMapJs() {\r\n this.loadMapComplete = new Promise((resolve, reject) => {\r\n if (window.OlMap) {\r\n resolve(window.OlMap);\r\n } else {\r\n $.getScript(`${configUrl.openlayerServerURL}/ol.js`, () => {\r\n let PointCollection = new Promise((resolve, reject) => {\r\n $.getScript(`${configUrl.mapServerURL}/GPointCollection.js`, () => {\r\n resolve();\r\n });\r\n });\r\n let Client9 = new Promise(function (resolve, reject) {\r\n $.getScript(`${configUrl.openlayerServerURL}/iclient-openlayers.min.js`, function () {\r\n resolve();\r\n });\r\n });\r\n Promise.all([PointCollection,Client9]).then(() => {\r\n resolve(window.OlMap);\r\n })\r\n });\r\n $.getScript(`${configUrl.openlayerServerURL}/bd09.js`);\r\n $.getScript(`${configUrl.openlayerServerURL}/olScreen.js`);\r\n $('<link>')\r\n .attr({\r\n rel: 'stylesheet',\r\n type: 'text/css',\r\n href:\r\n `${configUrl.openlayerServerURL}/ol.css`,\r\n })\r\n .appendTo('head');\r\n }\r\n });\r\n }\r\n // 初始化地圖\r\n init() {\r\n let t = this;\r\n // 创建地图\r\n t.createMap();\r\n t.drawSource = new ol.source.Vector({ wrapX: false });\r\n t.drawVector = new ol.layer.Vector({ source: t.drawSource });\r\n let initData = () => {\r\n const {\r\n mapPoints,\r\n mapLines,\r\n mapPolygons,\r\n mapCircles,\r\n mapVisiblePoints,\r\n mapCluster,\r\n mapPointCollection,\r\n areaRestriction,\r\n heatMapData\r\n } = t.props;\r\n // 初始化中心点\r\n t.setCenter();\r\n // 添加点\r\n if (mapPoints instanceof Array) {\r\n t.addPoint(mapPoints);\r\n }\r\n //添加线\r\n if (mapLines instanceof Array) {\r\n t.addLine(mapLines);\r\n }\r\n //添加面\r\n if (mapPolygons instanceof Array) {\r\n t.addPolygon(mapPolygons);\r\n }\r\n //添加圆\r\n if (mapCircles instanceof Array) {\r\n t.addCircle(mapCircles);\r\n }\r\n //是否设置比例尺\r\n if (t.props.showControl) {\r\n t.showControl(t.props);\r\n }\r\n // 画热力图\r\n if (heatMapData) {\r\n t.heatMapOverlay(heatMapData);\r\n }\r\n //设置点聚合\r\n if (mapCluster instanceof Array) {\r\n t.cluster(mapCluster);\r\n }\r\n /*设置指定图元展示*/\r\n if (mapVisiblePoints) {\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n //添加海量点\r\n if (mapPointCollection instanceof Array) {\r\n t.addPointCollection(mapPointCollection);\r\n }\r\n //设置区域限制\r\n if (areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]) {\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n this.mapCreated = true;\r\n };\r\n let event = (e, status) => {\r\n const { gis } = t.state;\r\n let overall_feature = null; //鼠标移入事件时记录当前的feature,为鼠标移出要素时保存操作的要素对象\r\n let dragAddMoveFlag = false; //记录地图拖拽和移动事件\r\n // 地图开始加载时\r\n gis.on('loadstart', function () {\r\n gis.getTargetElement().classList.add('spinner');\r\n });\r\n // 地图加载结束时\r\n gis.on('loadend', function () {\r\n gis.getTargetElement().classList.remove('spinner');\r\n });\r\n // 地图双击事件\r\n gis.on('dbclick', evt => { });\r\n // 地图点击事件\r\n gis.on('singleclick', evt => {\r\n let feature = gis.forEachFeatureAtPixel(evt.pixel, feature => feature);\r\n if (feature) {\r\n let target = feature.getProperties();\r\n let id = ''\r\n let elementId = ''\r\n if (isArray(target.features)) { // 处理聚合点击\r\n const properties = target.features[0].getProperties();\r\n id = properties.id;\r\n elementId = properties.id;\r\n target = target.features\r\n } else {\r\n id = target.id;\r\n elementId = target.element\r\n }\r\n // top: e.clientY,//当前点所在的位置(屏幕)\r\n // left: e.clientX,\r\n t.clickGraphic(id || elementId, evt, target);\r\n } else {\r\n t.clickMap(evt);\r\n }\r\n });\r\n // 鼠标移动事件 - 当鼠标指向要素时改变光标状态\r\n gis.on('pointermove', evt => {\r\n let pixel = gis.getEventPixel(evt.originalEvent);\r\n let hit = gis.hasFeatureAtPixel(pixel);\r\n gis.getTargetElement().style.cursor = hit ? 'pointer' : 'default';\r\n // 获取到当前鼠标移动下的feature\r\n let feature = gis.forEachFeatureAtPixel(pixel, function (feature, layer) {\r\n return feature;\r\n });\r\n if (feature) {\r\n overall_feature = feature;\r\n let values = feature.getProperties();\r\n t.mouseOverGraphic(values.id, evt);\r\n } else {\r\n if (overall_feature) {\r\n overall_feature.dispatchEvent({ type: 'mousein', event: evt });\r\n let values = overall_feature.getProperties();\r\n t.mouseOutGraphic(values.id, evt);\r\n overall_feature = null;\r\n }\r\n }\r\n });\r\n // 鼠标拖拽事件 - 拖拽开始即是地图移动开始\r\n gis.on('pointerdrag', evt => {\r\n dragAddMoveFlag = true;\r\n t.dragMapStart(evt);\r\n t.moveStart(evt);\r\n });\r\n let zoom = 0;\r\n // 地图移动事件 - 移动结束即是拖拽事件结束 也是地图缩放事件(无开始和结束事件)的监听\r\n gis.on('moveend', evt => {\r\n t.dragMapEnd(evt);\r\n t.moveEnd(evt);\r\n t.zoomStart(evt);\r\n setTimeout(() => {\r\n t.zoomEnd(evt);\r\n }, 300);\r\n dragAddMoveFlag = false;\r\n });\r\n // gis.getViewport().addEventListener('mouseout', function () {\r\n // helpTooltipElement.classList.add('hidden');\r\n // });\r\n };\r\n event();\r\n t.setCenter(t.props.center);\r\n initData();\r\n }\r\n // 创建地图\r\n createMap() {\r\n let t = this;\r\n let {\r\n olProps={},\r\n mapCenter = [],\r\n mapId,\r\n mapZoomLevel,\r\n minZoom,\r\n maxZoom,\r\n } = t.props;\r\n let {\r\n projection, // 坐标投影类型 EPSG:4326和EPSG:3857,百度图层使用自定义的'BD:09'\r\n olCoverage\r\n } = olProps;\r\n if(window.VtxMap){\r\n window.VtxMap[mapId]= null;\r\n }else{\r\n window.VtxMap = {};\r\n }\r\n if(!minZoom){\r\n minZoom = 2\r\n }\r\n if(!maxZoom){\r\n maxZoom = 19\r\n }\r\n if(!projection){\r\n projection = 'EPSG:4326'\r\n }\r\n //中心点\r\n let center = mapCenter && mapCenter instanceof Array && mapCenter.length == 2\r\n ? mapCenter\r\n : [116.400433, 39.906705];\r\n center = [parseFloat(center[0]), parseFloat(center[1])];\r\n window.VtxMap[mapId] = t.state.gis = new ol.Map({\r\n target: mapId.toString(),\r\n view: new ol.View({\r\n center: center, \r\n zoom: mapZoomLevel || 10,\r\n projection,\r\n minZoom,\r\n maxZoom,\r\n }),\r\n controls: ol.control.defaults({\r\n zoom: false,\r\n rotate: false,\r\n attribution: false\r\n }),\r\n });\r\n // 基本地图视图\r\n t.viewer = new ol.View({\r\n center: center, \r\n zoom: mapZoomLevel || 10,\r\n projection,\r\n minZoom,\r\n maxZoom,\r\n })\r\n t.loadLayers(olCoverage, [], true);\r\n t.initPropsForUser();\r\n }\r\n\r\n // 加载图层\r\n loadLayers = (nextLayers = [], currentLayers = [], first = false) => {\r\n const t = this;\r\n // 对比图层的变化,找出需要新增和需要删除的。\r\n const addLayers = nextLayers.filter(item => {\r\n return !currentLayers.map(e => e.coverage).includes(item.coverage)\r\n });\r\n const removeLayers = currentLayers.filter(item => {\r\n return !nextLayers.map(e => e.coverage).includes(item.coverage)\r\n })\r\n if(removeLayers.length > 0) {\r\n removeLayers.forEach(item => {\r\n const exist = t.olLayers.find(e => e.address === item.coverage);\r\n exist && exist.layer.setVisible(false);\r\n })\r\n }\r\n if (addLayers.length > 0) {\r\n addLayers.map(item => {\r\n if(\r\n item.coverage.startsWith(\"http\") || \r\n item.coverage.startsWith('/')\r\n ){\r\n switch(item.type) {\r\n // 超图\r\n case 'superMap':\r\n t.addSuperMapLayer(item.coverage);\r\n break;\r\n // geoServer_geoJSON\r\n case 'geoServer':\r\n t.addGeoServerLayer(item.coverage);\r\n // geoServer_image\r\n case 'geoServer_image':\r\n t.addGeoServerImageLayer(item);\r\n default:\r\n break;\r\n }\r\n }else if(item.coverage.indexOf(\"WMTS\")>-1){\r\n t.addTileLayer(JSON.parse(item.coverage));\r\n }else if (OL_SCREEN[item.coverage]) {\r\n if(first) {\r\n let layers = eval(OL_SCREEN[item.coverage].initLayer);\r\n if(isArray(layers)){\r\n layers.map(layer=>{\r\n t.state.gis.addLayer(layer);\r\n })\r\n }else {\r\n t.state.gis.addLayer(layers);\r\n }\r\n }\r\n }\r\n })\r\n } else {\r\n if(first) {\r\n let layer = eval(OL_SCREEN.default.initLayer);\r\n t.state.gis.addLayer(layer);\r\n }\r\n }\r\n }\r\n\r\n // wmts图层资源\r\n getWMTS(options) {\r\n const { url, params, sourceOptions } = options;\r\n \r\n //切片名\r\n let matrixIds = [\r\n 'EPSG:4326:0',\r\n 'EPSG:4326:1',\r\n 'EPSG:4326:2',\r\n 'EPSG:4326:3',\r\n 'EPSG:4326:4',\r\n 'EPSG:4326:5',\r\n 'EPSG:4326:6',\r\n 'EPSG:4326:7',\r\n 'EPSG:4326:8',\r\n 'EPSG:4326:9',\r\n 'EPSG:4326:10',\r\n 'EPSG:4326:11',\r\n 'EPSG:4326:12',\r\n 'EPSG:4326:13',\r\n 'EPSG:4326:14',\r\n 'EPSG:4326:15',\r\n 'EPSG:4326:16',\r\n 'EPSG:4326:17',\r\n 'EPSG:4326:18',\r\n ];\r\n \r\n //分辨率\r\n let resolutions = [\r\n 0.703125,\r\n 0.3515625,\r\n 0.17578125,\r\n 0.087890625,\r\n 0.0439453125,\r\n 0.02197265625,\r\n 0.010986328125,\r\n 0.0054931640625,\r\n 0.00274658203125,\r\n 0.001373291015625,\r\n 6.866455078125e-4,\r\n 3.4332275390625e-4,\r\n 1.71661376953125e-4,\r\n 8.58306884765625e-5,\r\n 4.291534423828125e-5,\r\n 2.1457672119140625e-5,\r\n 1.0728836059570312e-5,\r\n 5.364418029785156e-6,\r\n 2.682209014892578e-6,\r\n ];\r\n \r\n //切片策略\r\n let tilegrid = new ol.tilegrid.WMTS({\r\n extent: [-180.0, -90.0, 180.0, 90.0], //范围\r\n tileSize: [256, 256],\r\n origin: [-180.0, 90.0], //切片原点\r\n resolutions: resolutions, //分辨率\r\n matrixIds: matrixIds, //层级标识列表,与地图级数保持一致\r\n });\r\n \r\n //设置地图投影\r\n let projection = new ol.proj.Projection({\r\n code: 'EPSG:4326',\r\n units: 'degrees',\r\n axisOrientation: 'neu',\r\n });\r\n \r\n return new ol.source.WMTS({\r\n url: url,\r\n layer: params?.layer,\r\n format: 'image/png',\r\n matrixSet: 'EPSG:4326',\r\n projection: projection,\r\n tileGrid: tilegrid,\r\n ...sourceOptions,\r\n });\r\n }\r\n \r\n // 添加普通图层\r\n addTileLayer({url,params={}, sourceOptions={}, type, source}){\r\n if(url){\r\n const exist = this.olLayers.find(item => item.address === url);\r\n if(exist) {\r\n exist.layer.setVisible(true);\r\n return;\r\n }\r\n let layerSource = source || (type==='WMTS'?\r\n this.getWMTS({url,params,sourceOptions})\r\n : new ol.source.XYZ({\r\n url,\r\n ...sourceOptions,\r\n })\r\n )\r\n const layer = new ol.layer.Tile({\r\n source: layerSource\r\n });\r\n\r\n // 将图层添加到地图上\r\n this.state.gis.addLayer(layer);\r\n this.olLayers.push({\r\n address: url,\r\n layer\r\n });\r\n }\r\n }\r\n // 添加超图图层\r\n addSuperMapLayer(url) {\r\n const exist = this.olLayers.find(item => item.address === url);\r\n if(exist) {\r\n exist.layer.setVisible(true);\r\n return;\r\n }\r\n\r\n const layer = new ol.layer.Tile({\r\n source: new ol.source.TileSuperMapRest({\r\n url\r\n })\r\n });\r\n // 将图层添加到地图上\r\n this.state.gis.addLayer(layer);\r\n this.olLayers.push({\r\n address: url,\r\n layer\r\n });\r\n }\r\n // 添加geoServer_geoJSON图层\r\n addGeoServerLayer(url) {\r\n const exist = this.olLayers.find(item => item.address === url);\r\n if(exist) {\r\n exist.layer.setVisible(true);\r\n return;\r\n }\r\n\r\n // 矢量数据源\r\n const vectorSource = new ol.source.Vector({\r\n // 设置格式化类型\r\n format: new ol.format.GeoJSON(),\r\n\r\n // url(extent) 在地图范围变化时调用,返回当前的地图范围\r\n url: function (extent) {\r\n return `${url}&bbox=${extent.join(',')}`;\r\n },\r\n strategy: ol.loadingstrategy.bbox,\r\n });\r\n\r\n // 矢量图层\r\n const layer = new ol.layer.Vector({\r\n // 设置数据源\r\n source: vectorSource,\r\n // 设置图层样式也可以 function (feature) { /** 根据内容动态加载样式 **/ return Style}\r\n style: function(feature) {\r\n const el = feature.A || {};\r\n const icon = JSON.parse(el.icon || '[]');\r\n let mapIcon = icon[0]?.id\r\n ? `/cloudFile/common/downloadFile?id=${icon[0].id}`\r\n : require(\"../images/defaultMarker.png\");\r\n return new ol.style.Style({\r\n // 点位图标\r\n image: new ol.style.Icon({\r\n scale: 1,\r\n src: mapIcon,\r\n }),\r\n // 线样式\r\n stroke: new ol.style.Stroke({\r\n color: el.color || '#1890ff',\r\n width: 4\r\n }),\r\n // 面样式\r\n fill: new ol.style.Fill({\r\n color: el.color || 'rgba(255,255,255, 0.5)'\r\n })\r\n })\r\n },\r\n });\r\n // 将图层添加到地图上\r\n this.state.gis.addLayer(layer);\r\n this.olLayers.push({\r\n address: url,\r\n layer\r\n });\r\n }\r\n formatUrl(url){\r\n let param = {},address=url.split(\"?\")[0];\r\n url.split(\"?\")[1].split(\"&\").map(item=>{\r\n let json = item.split(\"=\")\r\n param[json[0].toUpperCase()] = json[1]?decodeURIComponent(json[1]):'';\r\n })\r\n return {param,address}\r\n }\r\n // 添加geoServer_image图层\r\n addGeoServerImageLayer(item) {\r\n let url = item.coverage;\r\n const exist = this.olLayers.find(item => item.address === url);\r\n if(exist) {\r\n exist.layer.setVisible(true);\r\n return;\r\n }\r\n let {param={},address} = this.formatUrl(url);\r\n // 矢量数据源\r\n const vectorSource = new ol.source.ImageWMS({\r\n url: address,\r\n serverType: 'geoserver',\r\n crossOrigin: '*',\r\n ratio: 1,\r\n params: {\r\n VERSION: '1.1.0',\r\n ...(item.param||{}),\r\n ...param,\r\n },\r\n });\r\n\r\n // 矢量图层\r\n const layer = new ol.layer.Image({\r\n // 设置数据源\r\n source: vectorSource,\r\n });\r\n // 将图层添加到地图上\r\n this.state.gis.addLayer(layer);\r\n this.olLayers.push({\r\n address: url,\r\n layer,\r\n source: vectorSource\r\n });\r\n }\r\n // 初始化对外方法\r\n initPropsForUser(){\r\n const t = this;\r\n t.state.gis[\"getCenter\"] = () => {\r\n return t.getCenter();\r\n }\r\n t.state.gis[\"setCenter\"] = (gt) => {\r\n t.setCenter(gt);\r\n }\r\n t.state.gis[\"getZoomLevel\"] = () => {\r\n return t.getZoomLevel();\r\n }\r\n t.state.gis[\"showInfoWindow\"] = (obj) => {\r\n return t.showInfoWindow(obj);\r\n }\r\n t.state.gis[\"hideInfoWindow\"] = () => {\r\n return t.hideInfoWindow();\r\n }\r\n t.state.gis[\"frameSelect\"] = (obj={},callback) => {\r\n return t.frameSelect(obj,callback);\r\n }\r\n t.state.gis[\"clearFrameSelect\"] = () => {\r\n return t.clearFrameSelect();\r\n }\r\n t.state.gis[\"clearFrameSelectById\"] = (id) => {\r\n return t.clearFrameSelectById(id);\r\n }\r\n t.state.gis[\"refresh\"] = () => {\r\n t.refresh();\r\n }\r\n }\r\n // 设置中心点\r\n setCenter(gt) {\r\n let t = this;\r\n if(!t.state.gis){\r\n return;\r\n }\r\n if (gt) {\r\n //经纬度 必须存在 否则不操作\r\n if (!gt[0] || !gt[1]) {\r\n return false;\r\n }\r\n //如果设置的经纬度 与当前中心点一样 不操作\r\n let c = t.getCenter();\r\n if (c.lng == gt[0] && c.lat == gt[1]) {\r\n return false;\r\n }\r\n t.state.gis.getView().setCenter(gt);\r\n t.viewer.animate({\r\n center: gt,\r\n duration: 2000,\r\n });\r\n }\r\n }\r\n //设置地图缩放层级\r\n setZoomLevel (zoom) {\r\n let t =this;\r\n let z = t.state.gis.getView().getZoom();\r\n if(z == zoom){\r\n return false;\r\n }\r\n t.state.gis.getView().setZoom(zoom)\r\n }\r\n //获取当前中心点\r\n getCenter() {\r\n let t = this;\r\n const { gis } = t.state;\r\n let [xmin, ymin, xmax, ymax] = gis.getView().calculateExtent(gis.getSize());\r\n return { lng: (xmin + xmax) / 2, lat: (ymin + ymax) / 2 };\r\n }\r\n //编辑图元\r\n doEdit(id) {\r\n let t = this;\r\n //获取图元对象\r\n let gc = t.GM.getGraphic(id);\r\n let gp = t.GM.getGraphicParam(id);\r\n if (!gc) return false;\r\n //关闭先前编辑的图元\r\n if (!!t.state.editId) {\r\n t.endEdit();\r\n }\r\n if (!t.editToolbar) {\r\n t.editToolbar = new ol.interaction.Modify({\r\n source: gp.source,\r\n hitDetection: true\r\n });\r\n t.state.gis.addInteraction(t.editToolbar)\r\n }else{\r\n t.state.gis.addInteraction(t.editToolbar)\r\n }\r\n t.editToolbar.on('modifyend', function (e) {\r\n let feature = gc;\r\n e.features.forEach(function (feature) {\r\n feature = feature\r\n })\r\n //返回参数\r\n let param = {\r\n id,\r\n e,\r\n };\r\n // 绘制内部管理的图元\r\n if (gp.geometry.type == 'point') {\r\n let cur = feature.getProperties().geometry;\r\n const [lng, lat] = cur.flatCoordinates;\r\n //处理点返回参数\r\n param = {\r\n ...param,\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n other: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n }\r\n },\r\n param: {\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n other: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n }\r\n },\r\n geometryType: gp.geometry.type,\r\n mapLayer: t.GM.getGraphic(id)\r\n },\r\n geometryType: gp.geometry.type,\r\n geometry: {\r\n type: 'point',\r\n x: lng,\r\n y: lat,\r\n },\r\n }\r\n }\r\n //线\r\n if (gp.geometry.type == 'polyline') {\r\n let cur = feature.getProperties().geometry;\r\n let oddList = [], evenList = [];\r\n cur.flatCoordinates.map((item, index) => {\r\n // 判断下标奇偶数\r\n if (index % 2 === 0) {\r\n evenList.push(item)\r\n } else {\r\n oddList.push(item)\r\n }\r\n })\r\n let path = oddList.map((item, index) => {\r\n return [evenList[index], oddList[index]]\r\n })\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n ...param,\r\n attributes: {\r\n ...gp.attributes,\r\n paths: path,\r\n other: {\r\n ...gp.attributes,\r\n paths: path,\r\n }\r\n },\r\n param: {\r\n attributes: {\r\n ...gp.attributes,\r\n paths: path,\r\n other: {\r\n ...gp.attributes,\r\n paths: path,\r\n }\r\n },\r\n geometry: {\r\n paths: path,\r\n _extent,\r\n type: \"polyline\",\r\n },\r\n geometryType: 'polyline',\r\n lnglatAry,\r\n mapLayer: t.GM.getGraphic(id)\r\n },\r\n geometryType: gp.geometry.type,\r\n geometry: {\r\n paths: path,\r\n _extent,\r\n type: \"polyline\",\r\n },\r\n distance: t.calculateDistance(path),\r\n }\r\n }\r\n //面\r\n if (gp.geometry.type == 'polygon') {\r\n let cur = feature.getProperties().geometry;\r\n let oddList = [], evenList = [];\r\n cur.flatCoordinates.map((item, index) => {\r\n // 判断下标奇偶数\r\n if (index % 2 === 0) {\r\n evenList.push(item)\r\n } else {\r\n oddList.push(item)\r\n }\r\n })\r\n let path = oddList.map((item, index) => {\r\n return [evenList[index], oddList[index]]\r\n })\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n ...param,\r\n attributes: {\r\n ...gp.attributes,\r\n rings: path,\r\n other: {\r\n ...gp.attributes,\r\n paths: path,\r\n }\r\n },\r\n param: {\r\n attributes: {\r\n ...gp.attributes,\r\n rings: path,\r\n other: {\r\n ...gp.attributes,\r\n paths: path,\r\n }\r\n },\r\n geometry: {\r\n rings: path,\r\n type: 'polygon',\r\n _extent\r\n },\r\n geometryType: 'polygon',\r\n lnglatAry,\r\n mapLayer: t.GM.getGraphic(id)\r\n },\r\n geometryType: gp.geometry.type,\r\n geometry: {\r\n rings: path,\r\n type: 'polygon',\r\n _extent\r\n },\r\n area: getPolygonArea(path),\r\n }\r\n }\r\n if (gp.geometry.type == 'circle') {\r\n let cur = feature.getProperties().geometry;\r\n let center = cur.getCenter();\r\n let sketchCoords_ = [cur.flatCoordinates[0], cur.flatCoordinates[1]];\r\n let sketchCoords_2 = [cur.flatCoordinates[2], cur.flatCoordinates[3]];\r\n let radius = ol.sphere.getDistance(sketchCoords_, sketchCoords_2);\r\n param = {\r\n ...param,\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius,\r\n other: {\r\n ...gp.attributes,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius,\r\n }\r\n },\r\n param: {\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius,\r\n other: {\r\n ...gp.attributes,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius,\r\n }\r\n },\r\n geometry: {\r\n x: center[0],\r\n y: center[1],\r\n radius,\r\n type: 'circle',\r\n },\r\n geometryType: 'circle',\r\n mapLayer: t.GM.getGraphic(id)\r\n },\r\n geometryType: gp.geometry.type,\r\n area: Math.PI * Math.pow(radius, 2),\r\n geometry: {\r\n type: 'circle',\r\n x: center[0],\r\n y: center[1],\r\n radius\r\n }\r\n }\r\n }\r\n if ('editGraphicChange' in t.props && typeof (t.props.editGraphicChange) == 'function') {\r\n t.props.editGraphicChange(param);\r\n }\r\n t.GM.setGraphic(id, feature)\r\n .setGraphicParam(id, { ...param, source: gp.source });\r\n })\r\n t.editId = id;\r\n }\r\n //关闭编辑\r\n endEdit() {\r\n let t = this;\r\n if (t.editToolbar) {\r\n t.state.gis.removeInteraction(t.editToolbar);\r\n t.editToolbar = null;\r\n }\r\n t.editId = '';\r\n }\r\n // 绘制图元\r\n draw(obj) {\r\n let t = this;\r\n const { drawInfo } = t;\r\n const { gis } = t.state;\r\n let drawParam = {}, image, stroke, fill;\r\n //初始化参数\r\n drawParam.geometryType = obj.geometryType || 'point';\r\n drawParam.parameter = obj.parameter ? { ...obj.parameter } : {};\r\n drawParam.data = obj.data ? { ...obj.data } : {};\r\n drawParam.data.id = (obj.data || {}).id || `draw${new Date().getTime()}`;\r\n //缓存 绘制的数据\r\n t.drawParam = drawParam;\r\n //判断id是否存在\r\n let len = t.state.drawIds[drawParam.geometryType].indexOf(drawParam.data.id);\r\n if (len > -1) {\r\n //如果id存在 删除存在的图元,清除drawId中的id数据\r\n t.removeGraphic(drawParam.data.id);\r\n t.state.drawIds[drawParam.geometryType].splice(len, 1);\r\n }\r\n let type = 'Point', style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [-drawParam.parameter.markerContentX || -15, -drawParam.parameter.markerContentY || -15],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n src: drawParam.parameter.url || require(\"../images/defaultMarker.png\"),\r\n opacity: 1,\r\n scale: drawParam.parameter.scale || 1,\r\n })\r\n });\r\n let geometryFunction;\r\n switch (drawParam.geometryType) {\r\n case 'point':\r\n type = 'Point';\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [-drawParam.parameter.markerContentX || -15, -drawParam.parameter.markerContentY || -15],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n src: drawParam.parameter.url || require(\"../images/defaultMarker.png\"),\r\n opacity: 1,\r\n scale: drawParam.parameter.scale || 1,\r\n })\r\n })\r\n break;\r\n case 'polyline':\r\n type = 'LineString';\r\n style = new ol.style.Style({\r\n stoke: new ol.style.Stroke({\r\n color: drawParam.parameter.color || '#277ffa',\r\n width: drawParam.parameter.lineWidth || 3,\r\n lineDash: drawParam.parameter.lineType == 'dashed' ? [2] : undefined,\r\n })\r\n })\r\n break;\r\n case 'polygon':\r\n type = 'Polygon';\r\n style = new ol.style.Style({\r\n stoke: new ol.style.Stroke({\r\n color: drawParam.parameter.color || '#277ffa',\r\n width: drawParam.parameter.lineWidth || 3,\r\n lineDash: drawParam.parameter.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: drawParam.parameter.pellucidity ?\r\n getRgbColor(drawParam.parameter.color || '#277ffa', drawParam.parameter.pellucidity) :\r\n drawParam.parameter.color || '#277ffa',\r\n })\r\n })\r\n break;\r\n case 'rectangle':\r\n type = 'Circle';\r\n geometryFunction = ol.interaction.Draw.createBox();\r\n break;\r\n case 'circle':\r\n type = 'Circle';\r\n style = new ol.style.Style({\r\n stoke: new ol.style.Stroke({\r\n color: drawParam.parameter.color || '#277ffa',\r\n width: drawParam.parameter.lineWidth || 3,\r\n lineDash: drawParam.parameter.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: drawParam.parameter.pellucidity ?\r\n getRgbColor(drawParam.parameter.color || '#277ffa', drawParam.parameter.pellucidity) :\r\n drawParam.parameter.color || '#277ffa',\r\n })\r\n })\r\n break;\r\n }\r\n if (!t.drawToolbar) {\r\n t.drawToolbar = new ol.interaction.Draw({\r\n source: t.drawSource,\r\n type: type,\r\n geometryFunction: geometryFunction\r\n // style: style\r\n });\r\n gis.addInteraction(t.drawToolbar);\r\n }else{\r\n gis.addInteraction(t.drawToolbar);\r\n }\r\n t.drawToolbar.on('drawend', function (e) {\r\n // 关闭绘制事件\r\n t.drawToolbar.finishDrawing();\r\n // 移除\r\n gis.removeInteraction(t.drawToolbar)\r\n let gc = e.feature.getGeometry();\r\n //返回参数\r\n let param = {};\r\n // 绘制内部管理的图元\r\n if (t.drawParam.geometryType == 'point') {\r\n const [lng, lat] = gc.flatCoordinates;\r\n gc.x = lng;\r\n gc.y = lat;\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updatePoint(\r\n [\r\n {\r\n id: t.drawParam.data.id,\r\n longitude: lng,\r\n latitude: lat,\r\n url:\r\n t.drawParam.parameter.url ||\r\n require(\"../images/defaultMarker.png\"),\r\n config: {\r\n ...t.drawParam.parameter,\r\n },\r\n },\r\n ],\r\n \"point\"\r\n );\r\n }else{\r\n t.addPoint([{\r\n id: t.drawParam.data.id,\r\n longitude: lng,\r\n latitude: lat,\r\n url: t.drawParam.parameter.url || require(\"../images/defaultMarker.png\"),\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], 'point');\r\n }\r\n \r\n //处理点返回参数\r\n param = {\r\n id: t.drawParam.data.id,\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n url: t.drawParam.parameter.url || require(\"../images/defaultMarker.png\"),\r\n config: {\r\n width: t.drawParam.parameter.width || 30,\r\n height: t.drawParam.parameter.height || 30\r\n }\r\n },\r\n geometry: gc,\r\n geometryType: 'point',\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n //线\r\n if (t.drawParam.geometryType == 'polyline') {\r\n let oddList = [], evenList = [];\r\n gc.flatCoordinates.map((item, index) => {\r\n // 判断下标奇偶数\r\n if (index % 2 === 0) {\r\n evenList.push(item)\r\n } else {\r\n oddList.push(item)\r\n }\r\n })\r\n let path = oddList.map((item, index) => {\r\n return [evenList[index], oddList[index]]\r\n })\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updateLine([{\r\n id: t.drawParam.data.id,\r\n paths: path,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], 'polyline');\r\n }else{\r\n t.addLine([{\r\n id: t.drawParam.data.id,\r\n paths: path,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], 'polyline');\r\n }\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n lnglatAry,\r\n id: t.drawParam.data.id,\r\n geometry: {\r\n ...e.geometry,\r\n paths: path,\r\n _extent\r\n },\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n },\r\n distance: t.calculateDistance(path),\r\n geometryType: 'polyline',\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n //面\r\n if (t.drawParam.geometryType == 'polygon') {\r\n let oddList = [], evenList = [];\r\n gc.flatCoordinates.map((item, index) => {\r\n // 判断下标奇偶数\r\n if (index % 2 === 0) {\r\n evenList.push(item)\r\n } else {\r\n oddList.push(item)\r\n }\r\n })\r\n let path = oddList.map((item, index) => {\r\n return [evenList[index], oddList[index]]\r\n })\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updatePolygon(\r\n [\r\n {\r\n id: t.drawParam.data.id,\r\n rings: path,\r\n config: {\r\n ...t.drawParam.parameter,\r\n },\r\n },\r\n ],\r\n t.drawParam.geometryType\r\n );\r\n }else{\r\n t.addPolygon([{\r\n id: t.drawParam.data.id,\r\n rings: path,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], t.drawParam.geometryType);\r\n }\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n lnglatAry,\r\n id: t.drawParam.data.id,\r\n geometry: {\r\n ...e.geometry,\r\n rings: path,\r\n type: t.drawParam.geometryType,\r\n _extent\r\n },\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n },\r\n area: getPolygonArea(path),\r\n geometryType: t.drawParam.geometryType,\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n if (t.drawParam.geometryType == 'rectangle') {\r\n let path = e.feature.getGeometry().getCoordinates()[0];\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updatePolygon(\r\n [\r\n {\r\n id: t.drawParam.data.id,\r\n rings: path,\r\n config: {\r\n ...t.drawParam.parameter,\r\n },\r\n },\r\n ],\r\n t.drawParam.geometryType\r\n );\r\n }else{\r\n t.addPolygon([{\r\n id: t.drawParam.data.id,\r\n rings: path,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], t.drawParam.geometryType);\r\n }\r\n //处理线返回参数\r\n let { lnglatAry, _extent } = t.dealData(path);\r\n param = {\r\n lnglatAry,\r\n id: t.drawParam.data.id,\r\n geometry: {\r\n ...e.geometry,\r\n rings: path,\r\n type: t.drawParam.geometryType,\r\n _extent\r\n },\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n },\r\n area: getPolygonArea(path),\r\n geometryType: t.drawParam.geometryType,\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n if (t.drawParam.geometryType == 'circle') {\r\n let center = e.feature.getGeometry().getCenter();\r\n let cur = e.feature.getProperties().geometry;\r\n let sketchCoords_ = [cur.flatCoordinates[0], cur.flatCoordinates[1]];\r\n let sketchCoords_2 = [cur.flatCoordinates[2], cur.flatCoordinates[3]];\r\n let radius = ol.sphere.getDistance(sketchCoords_, sketchCoords_2);\r\n if(t.GM.isRepetition(t.drawParam.data.id)){\r\n t.updateCircle(\r\n [\r\n {\r\n id: t.drawParam.data.id,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius: radius,\r\n config: {\r\n ...t.drawParam.parameter,\r\n },\r\n },\r\n ],\r\n t.drawParam.geometryType\r\n );\r\n }else{\r\n t.addCircle([{\r\n id: t.drawParam.data.id,\r\n longitude: center[0],\r\n latitude: center[1],\r\n radius: radius,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n }], t.drawParam.geometryType);\r\n }\r\n param = {\r\n area: Math.PI * Math.pow(radius, 2),\r\n attributes: {\r\n id: t.drawParam.data.id,\r\n config: {\r\n ...t.drawParam.parameter\r\n }\r\n },\r\n geometry: {\r\n type: t.drawParam.geometryType,\r\n x: center[0],\r\n y: center[1],\r\n radius\r\n },\r\n geometryType: t.drawParam.geometryType,\r\n mapLayer: t.GM.getGraphic(t.drawParam.data.id)\r\n }\r\n }\r\n if ('drawEnd' in t.props && typeof (t.props.drawEnd) == 'function') {\r\n t.props.drawEnd(param);\r\n }\r\n if(t.frameSelectProps[param.attributes.id]?.callback instanceof Function){\r\n t.frameSelectProps[param.attributes.id].callback(param);\r\n }\r\n });\r\n //保存绘制图元的id便于后期比对\r\n t.state.drawIds[drawParam.geometryType].push(drawParam.data.id);\r\n }\r\n // 关闭绘制\r\n closeDraw() {\r\n let t = this;\r\n const { gis } = t.state;\r\n if (t.drawToolbar) {\r\n // 关闭绘制事件\r\n t.drawToolbar.finishDrawing();\r\n // 移除\r\n gis.removeInteraction(t.drawToolbar)\r\n t.drawToolbar = null;\r\n t.drawInfo = {\r\n sketch: null,\r\n listener: null,\r\n };\r\n }\r\n }\r\n /*工具方法*/\r\n vtxRangingTool(){\r\n let t = this;\r\n let source = new ol.source.Vector({});\r\n t.rangingInfo.drawLayer = new ol.layer.Vector({\r\n source: source,\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#ffcc33',\r\n width: 4,\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33',\r\n }),\r\n }),\r\n }),\r\n })\r\n t.rangingInfo.draw = new ol.interaction.Draw({\r\n source,\r\n type: 'LineString',\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.5)',\r\n lineDash: [10, 10],\r\n width: 4,\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 5,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.7)',\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n }),\r\n }),\r\n });\r\n let obj = {};\r\n t.createHelpTooltip();\r\n t.createMeasureTooltip();\r\n t.createDeleteTooltip();\r\n t.state.gis.addLayer(t.rangingInfo.drawLayer);\r\n t.state.gis.addInteraction(t.rangingInfo.draw);\r\n // 开始监听绘制\r\n t.rangingInfo.draw.on('drawstart', (evt) => {\r\n t.rangingInfo.feature = evt.feature;\r\n let tooltipCoord = evt.coordinate;\r\n t.rangingInfo.listener = evt.feature.getGeometry().on('change', function (evt) {\r\n const geom = evt.target;\r\n const {flatCoordinates} = geom;\r\n const lngLats = [[flatCoordinates[0], flatCoordinates[1]],[flatCoordinates[2], flatCoordinates[3]]];\r\n let output = t.formatLength(geom);\r\n tooltipCoord = geom.getLastCoordinate();\r\n obj={\r\n distance: output,\r\n lnglats: lngLats,\r\n }\r\n t.rangingInfo.measureTooltipElement.innerHTML = output;\r\n t.rangingInfo.measureTooltip.setPosition(tooltipCoord);\r\n t.rangingInfo.deleteToolTip.setPosition(tooltipCoord);\r\n t.rangingInfo.deleteToolTip.setOffset([20, 10]);\r\n });\r\n });\r\n // 双击绘制完成\r\n t.rangingInfo.draw.on('drawend', () => {\r\n t.rangingInfo.measureTooltipElement.className = 'ol-tooltip ol-tooltip-static';\r\n t.rangingInfo.measureTooltip.setOffset([0, -7]);\r\n t.rangingInfo.feature = null;\r\n t.rangingInfo.measureTooltipElement = null;\r\n // t.createMeasureTooltip();\r\n new ol.Observable.unByKey(t.rangingInfo.listener);\r\n t.state.gis.removeInteraction(t.rangingInfo.draw);\r\n if('mapRangingTool' in t.props){\r\n t.props.mapRangingTool(obj);\r\n }\r\n });\r\n }\r\n // 绘图时创建提示\r\n createHelpTooltip(){\r\n const t = this;\r\n if (t.rangingTool.helpTooltipElement) {\r\n t.rangingTool.helpTooltipElement.parentNode.removeChild(t.rangingTool.helpTooltipElement);\r\n }\r\n t.rangingTool.helpTooltipElement = document.createElement('div');\r\n t.rangingTool.helpTooltipElement.className = 'ol-tooltip hidden';\r\n t.rangingTool.helpTooltip = new ol.Overlay({\r\n element: t.rangingTool.helpTooltipElement,\r\n offset: [15, 0],\r\n positioning: 'center-left',\r\n });\r\n t.state.gis.addOverlay(t.rangingTool.helpTooltip);\r\n }\r\n // 工具画图提示\r\n createMeasureTooltip() {\r\n const t = this;\r\n if (t.rangingInfo.measureTooltipElement) {\r\n t.rangingInfo.measureTooltipElement.parentNode.removeChild(t.rangingInfo.measureTooltipElement);\r\n }\r\n t.rangingInfo.measureTooltipElement = document.createElement('div');\r\n t.rangingInfo.measureTooltipElement.className = 'ol-tooltip ol-tooltip-measure';\r\n t.rangingInfo.measureTooltip = new ol.Overlay({\r\n element: t.rangingInfo.measureTooltipElement,\r\n offset: [0, -15],\r\n positioning: 'bottom-center',\r\n stopEvent: false,\r\n insertFirst: false,\r\n });\r\n t.state.gis.addOverlay(t.rangingInfo.measureTooltip);\r\n }\r\n // 创建删除提示\r\n createDeleteTooltip() {\r\n const t = this;\r\n if (t.rangingInfo.deleteToolTipElement) {\r\n t.rangingInfo.deleteToolTipElement.parentNode.removeChild(t.rangingInfo.deleteToolTipElement);\r\n }\r\n t.rangingInfo.deleteToolTipElement = document.createElement('div');\r\n t.rangingInfo.deleteToolTipElement.className = 'ol-tooltip-delete';\r\n t.rangingInfo.deleteToolTipElement.innerHTML = 'X';\r\n t.rangingInfo.deleteToolTipElement.addEventListener('click', function(e){\r\n t.rangingInfo.measureTooltipElement = null;\r\n t.rangingInfo.helpTooltipElement = null;\r\n t.rangingInfo.deleteToolTipElement = null;\r\n t.state.gis.removeOverlay(t.rangingInfo.measureTooltip);\r\n t.state.gis.removeOverlay(t.rangingTool.helpTooltip);\r\n t.state.gis.removeOverlay(t.rangingInfo.deleteToolTip);\r\n new ol.Observable.unByKey(t.rangingInfo.listener);\r\n t.state.gis.removeInteraction(t.rangingInfo.draw);\r\n t.state.gis.removeLayer(t.rangingInfo.drawLayer);\r\n })\r\n t.rangingInfo.deleteToolTip = new ol.Overlay({\r\n element: t.rangingInfo.deleteToolTipElement,\r\n offset: [15, 15],\r\n positioning: 'bottom-center',\r\n stopEvent: false,\r\n insertFirst: true,\r\n });\r\n t.state.gis.addOverlay(t.rangingInfo.deleteToolTip);\r\n }\r\n\r\n formatLength (line) {\r\n const {flatCoordinates} = line\r\n // const length = new ol.sphere.getDistance([flatCoordinates[0], flatCoordinates[1]],[flatCoordinates[2], flatCoordinates[3]]);\r\n let paths = []\r\n for (let n = 0; n < flatCoordinates.length; n += 2) {\r\n paths.push([flatCoordinates[n], flatCoordinates[n + 1]])\r\n }\r\n let length = 0;\r\n if (paths.length >= 2)\r\n paths.map((item, index) => {\r\n if (index <= paths.length - 2) {\r\n length += ol.sphere.getDistance(paths[index], paths[index + 1])\r\n }\r\n })\r\n let output = '';\r\n if (length > 100) {\r\n output = Math.round((length / 1000) * 100) / 100 + ' ' + 'km';\r\n } else {\r\n output = Math.round(length * 100) / 100 + ' ' + 'm';\r\n }\r\n return output;\r\n };\r\n // 获取地图的当前位置状态信息\r\n getMapExtent() {\r\n let t = this;\r\n const { gis } = t.state;\r\n let obj = {};\r\n if (gis) {\r\n let nowBounds = gis.getView().calculateExtent(gis.getSize());\r\n obj.southWest = {\r\n lng: nowBounds[0],\r\n lat: nowBounds[1],\r\n };\r\n obj.northEast = {\r\n lng: nowBounds[2],\r\n lat: nowBounds[3],\r\n };\r\n obj.nowCenter = t.getCenter();\r\n obj.zoom = t.getZoomLevel();\r\n const [width, height] = gis.getSize();\r\n obj.mapSize = { width: width, height: height };\r\n obj.radius = ol.sphere.getDistance(\r\n [obj.nowCenter.lng, obj.nowCenter.lat],\r\n [obj.northEast.lng, obj.northEast.lat],\r\n );\r\n return obj;\r\n }\r\n }\r\n //将制定图元展示在视野内 (强制改变地图中心位置)\r\n /*\r\n 参数arg格式如下1,2\r\n 1.string 格式如:'1,a,2,3,4'\r\n 2.数组 ['1','2']\r\n */\r\n setVisiblePoints(mapVisiblePoints) {\r\n let t = this;\r\n const {gis} = t.state;\r\n let arg = null;\r\n let type = mapVisiblePoints.type;\r\n let ary = [];//图元id集合\r\n let obj = [];//经纬度集合\r\n switch(mapVisiblePoints.fitView){\r\n case 'point':\r\n arg = this.state.pointIds;\r\n break;\r\n case 'line':\r\n arg = this.state.lineIds;\r\n break;\r\n case 'polygon':\r\n arg = this.state.polygonIds;\r\n break;\r\n case 'circle':\r\n arg = this.state.circleIds;\r\n break;\r\n case 'all':\r\n arg = this.state.pointIds.concat(this.state.lineIds).concat(this.state.polygonIds).concat(this.state.circleIds);\r\n break;\r\n default:\r\n arg = mapVisiblePoints.fitView;\r\n break;\r\n }\r\n if(typeof(arg) === 'string'){\r\n ary = arg.split(',');\r\n }else if(arg instanceof Array){\r\n ary = arg;\r\n }\r\n for(let i = 0 ; i < ary.length ; i++){\r\n let g = t.GM.getGraphicParam(ary[i]);\r\n if(g){\r\n switch(g.geometry.type){\r\n case 'point':\r\n obj.push([g.geometry.x,g.geometry.y]);\r\n case 'circle':\r\n obj.push([g.geometry.x,g.geometry.y]);\r\n break;\r\n case 'polyline':\r\n obj = [...obj,...g.geometry.paths];\r\n break;\r\n case 'polygon':\r\n obj = [...obj,...g.geometry.rings];\r\n break;\r\n }\r\n }\r\n }\r\n if(obj.length > 0){\r\n let displayRange = new ol.extent.boundingExtent(obj);\r\n gis.getView().fit(displayRange, gis.getSize());\r\n }\r\n }\r\n getFitView(ids) {\r\n let t = this;\r\n if (ids.length > 0) {\r\n let maxX = null, maxY = null, minX = null, minY = null;\r\n for (let i = 0; i < ids.length; i++) {\r\n let coord = t.GM.getGraphic(ids[i]);\r\n let boundsArry = coord.getGeometry().getExtent();\r\n if (minX === null) {\r\n minX = boundsArry[0]\r\n minY = boundsArry[1]\r\n maxX = boundsArry[2]\r\n maxY = boundsArry[3]\r\n } else {\r\n minX = Math.min(boundsArry[0], minX)\r\n minY = Math.min(boundsArry[1], minY)\r\n maxX = Math.max(boundsArry[2], maxX)\r\n maxY = Math.max(boundsArry[3], maxY)\r\n }\r\n }\r\n const bounds = [minX, minY, maxX, maxY];\r\n return bounds;\r\n }\r\n }\r\n /*功能方法*/\r\n //获取当前地图的中心位置\r\n getCurrentCenter() {\r\n let t = this;\r\n const { gis } = t.state;\r\n let extent = gis.getView().calculateExtent(gis.getSize());\r\n return [(extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2];\r\n }\r\n //获取当前比例尺\r\n getZoomLevel() {\r\n let t = this;\r\n return t.state.gis.getView().getZoom();\r\n }\r\n //获取图元数据\r\n getGraphic(id) {\r\n let t = this;\r\n if (!id) {\r\n return false;\r\n }\r\n let gp = t.GM.getGraphicParam(id);\r\n let gg = t.GM.getGraphic(id);\r\n if (!gg) {\r\n return false;\r\n }\r\n let p = {},\r\n pts = [],\r\n lng = 0,\r\n lat = 0;\r\n switch (gp.geometryType) {\r\n case 'point':\r\n lng = gp.geometry.x;\r\n lat = gp.geometry.y;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n x: lng,\r\n y: lat,\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n other: {\r\n ...gp.attributes.other,\r\n longitude: lng,\r\n latitude: lat,\r\n },\r\n },\r\n };\r\n break;\r\n case 'polyline':\r\n pts = gp.geometry.paths;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n paths: pts,\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n paths: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n paths: pts,\r\n },\r\n },\r\n };\r\n break;\r\n case 'polygon':\r\n pts = gp.geometry.rings;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n rings: pts,\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n rings: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n rings: pts,\r\n },\r\n },\r\n area: getPolygonArea(pts),\r\n };\r\n break;\r\n case 'circle':\r\n lng = gp.geometry.x;\r\n lat = gp.geometry.y;\r\n let radius = gp.geometry.radius;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n x: lng,\r\n y: lat,\r\n radius,\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n radius,\r\n other: {\r\n ...gp.attributes.other,\r\n longitude: lng,\r\n latitude: lat,\r\n radius,\r\n },\r\n },\r\n };\r\n break;\r\n }\r\n return p;\r\n }\r\n // 转换dom节点\r\n parseDom(domStr) {\r\n const domObj = document.createElement('div');\r\n domObj.innerHTML = domStr;\r\n return domObj.childNodes;\r\n }\r\n //添加海量点\r\n addPointCollection(data = []) {\r\n let t = this;\r\n data.map((item, index) => {\r\n let d = item || {};\r\n let points = (d.points || []).map((d, i) => {\r\n let p = t.state.gis.getPixelFromCoordinate([d.lng, d.lat]);\r\n return [p[0], p[1]];\r\n });\r\n let [width, height] = t.state.gis.getSize();\r\n let options = {\r\n size: d.size,\r\n shape: d.shape,\r\n color: d.color,\r\n width: width,\r\n height: height,\r\n mapId: t.props.mapId\r\n };\r\n let VotexpointCollection = new GMapLib.PointCollection(points, options);\r\n t.morepoints.push({\r\n id: d.id,\r\n value: VotexpointCollection\r\n });\r\n VotexpointCollection.draw();\r\n })\r\n }\r\n //更新海量点\r\n updatePointCollection(data = []) {\r\n let t = this;\r\n data.map((ds, ind) => {\r\n t.morepoints.map((item, index) => {\r\n if (item.id == ds.id) {\r\n let points = (ds.points || []).map((d, i) => {\r\n let p = t.state.gis.getPixelFromCoordinate([d.lng, d.lat]);\r\n return [p[0], p[1]];\r\n });\r\n let [width, height] = t.state.gis.getSize();\r\n let options = {\r\n size: ds.size,\r\n shape: ds.shape,\r\n color: ds.color,\r\n width: width,\r\n height: height\r\n };\r\n item.value.reDraw(points, options);\r\n }\r\n })\r\n })\r\n }\r\n //删除海量点\r\n clearPointCollection(ids = []) {\r\n let t = this;\r\n ids.map((id, ind) => {\r\n t.morepoints.map(function (item, index) {\r\n if (id == item.id) {\r\n item.value.clear();\r\n }\r\n });\r\n });\r\n }\r\n\r\n //删除全部海量点\r\n clearAllPointCollection() {\r\n let t = this;\r\n t.morepoints.map(function (item, index) {\r\n item.value.clear();\r\n });\r\n }\r\n // 框选\r\n frameSelect({geometryType,parameter={},data={}},callback){\r\n if(!['polygon','circle','rectangle'].includes(geometryType)){\r\n message.warn(\"传入的类型不支持框选!\")\r\n return false;\r\n }\r\n const t = this;\r\n let params = {},\r\n type = geometryType||'polygon',\r\n id = data.id || `frameSelectFeature_${Math.random()}`;\r\n\r\n params.color = parameter.color||'#FF0000';\r\n params.lineColor = parameter.lineColor||'#FF0000';\r\n params.lineOpacity = parameter.lineOpacity||1;\r\n params.lineWidth = parameter.lineWidth||2;\r\n params.pellucidity = parameter.pellucidity||0.6;\r\n params.lineType = parameter.lineType||'solid';\r\n\r\n t.draw({\r\n geometryType: type,\r\n parameter: {\r\n ...parameter,\r\n ...params\r\n },\r\n data:{\r\n id: id\r\n }\r\n });\r\n\r\n t.frameSelectProps[id] = {\r\n callback,\r\n id,\r\n type: geometryType\r\n } \r\n }\r\n // 清除框选\r\n clearFrameSelect(){\r\n for(let key in this.frameSelectProps){\r\n this.removeGraphic(this.frameSelectProps[key].id,this.frameSelectProps[key].type);\r\n }\r\n this.frameSelectProps = {};\r\n }\r\n // 清除框选ById\r\n clearFrameSelectById(id){\r\n let obj = this.frameSelectProps[id];\r\n this.removeGraphic(obj.id, obj.type);\r\n delete this.frameSelectProps[id];\r\n }\r\n /*\r\n * 添加信息窗口\r\n * params\r\n * @position: Array[longitude,latitude]\r\n * @content: String|HTML\r\n * @close: boolean\r\n */\r\n showInfoWindow(params={}){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.hideInfoWindow();\r\n }\r\n t.popupWindow = new Popup({\r\n map: t.state.gis,\r\n position: params.position,\r\n innerHTML: params.content,\r\n close: params.close\r\n });\r\n t.popupWindow.showPopup();\r\n }\r\n hideInfoWindow(){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.popupWindow.removePopup();\r\n }\r\n t.popupWindow = null;\r\n }\r\n // 添加点\r\n addPoint(mapPoints, type) {\r\n let t = this;\r\n let ps = [];\r\n let psids = [...t.state.pointIds];\r\n mapPoints.map((item, index) => {\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`加点id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //点位数据不符合,直接跳过\r\n if (!item.longitude || !item.latitude) {\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n // 创建点位图元要素\r\n let feature = new ol.Feature({\r\n geometry: new ol.geom.Point([parseFloat(item.longitude), parseFloat(item.latitude)]),\r\n name: item.name,\r\n id: item.id,\r\n params: {\r\n ...item,\r\n },\r\n });\r\n let cg = {\r\n width: 30,\r\n height: 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n markerContentX: -13,\r\n markerContentY: -42,\r\n zIndex: 100,\r\n deg: 0,\r\n scale: 1,\r\n };\r\n //初始化默认数据\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n // 覆盖物样式参数\r\n let style, icon, txt;\r\n let myImage = new Image(cg.width, cg.height);\r\n \r\n if (!!item.markerContent) {\r\n let nodes = t.parseDom(item.markerContent)[0];\r\n // 自定义图层需要把事件加在dom上\r\n nodes.addEventListener(\"click\", e => {\r\n t.clickGraphic(item.id,{\r\n ...e,\r\n pixel: [e.clientX,e.clientY]\r\n })\r\n })\r\n // 创建地图自定义覆盖物\r\n let pop = new ol.Overlay({\r\n id: item.id,\r\n position: [parseFloat(item.longitude), parseFloat(item.latitude)],\r\n positioning: 'center-center',\r\n element: nodes,\r\n autoPanMargin: 20,\r\n autoPan: true,\r\n offset: [0, -20],\r\n insertFirst: true,\r\n });\r\n t.state.gis.addOverlay(pop);\r\n } else {\r\n // item.url || require(\"../images/defaultMarker.png\"),\r\n canvasDataURL(\r\n item.url || require(\"../images/defaultMarker.png\"),\r\n { width: cg.width, height: cg.height },\r\n function (base64) {\r\n myImage.src = base64;\r\n }\r\n )\r\n // 创建地图要素图标样式\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [-cg.markerContentX, -cg.markerContentY],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n img: myImage,\r\n imgSize: [cg.width, cg.height],\r\n opacity: cg.opacity,\r\n scale: cg.scale || 1,\r\n }),\r\n });\r\n }\r\n if (!!item.canShowLabel && item.canShowLabel) {\r\n let textStyle = {\r\n textAlign: 'center', //对齐方式\r\n textBaseline: 'middle', //文本基线\r\n font: 'normal 12px 微软雅黑', //字体样式\r\n text: cg.labelContent, //文本内容\r\n offsetX: cg.labelPixelX, // x轴偏置\r\n offsetY: cg.labelPixelY, // Y轴偏置\r\n fill: new ol.style.Fill({\r\n //填充样式\r\n color: '#1890ff',\r\n }),\r\n backgroundFill: new ol.style.Fill({\r\n // 填充背景\r\n color: 'rgba(255, 255, 255, 1)',\r\n }),\r\n padding: [2, 5, 2, 5],\r\n ...(cg.labelStyle || {})\r\n }\r\n if(cg.labelStyle && cg.labelStyle.fill){\r\n textStyle['fill'] = new ol.style.Fill({\r\n color: cg.labelStyle.fill\r\n })\r\n }\r\n if(cg.labelStyle && cg.labelStyle.backgroundFill){\r\n textStyle['backgroundFill'] = new ol.style.Fill({\r\n color: cg.labelStyle.backgroundFill\r\n })\r\n }\r\n // 创建地图要素图标样式\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [-cg.markerContentX, -cg.markerContentY],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n // src: item.url || require(\"../images/defaultMarker.png\"),\r\n img: myImage,\r\n imgSize: [cg.width, cg.height],\r\n opacity: cg.opacity,\r\n scale: cg.scale || 1,\r\n }),\r\n // 创建地图要素文字样式\r\n text: new ol.style.Text(textStyle),\r\n });\r\n }\r\n feature.setStyle(style);\r\n // 初始化适量数据源\r\n let source = new ol.source.Vector({\r\n features: [feature],\r\n name: 'point',\r\n id: item.id,\r\n });\r\n let pointLayer = new ol.layer.Vector({\r\n name: 'point',\r\n source,\r\n id: item.id,\r\n });\r\n t.pointLayers.push({\r\n id: item.id,\r\n layer: pointLayer\r\n })\r\n //添加点位图层\r\n t.state.gis.addLayer(pointLayer);\r\n if (!item.markerContent && cg.BAnimationType == 0) {\r\n marker.setAnimation(BMAP_ANIMATION_BOUNCE);\r\n } else if (!item.markerContent && cg.BAnimationType == 1) {\r\n marker.setAnimation(BMAP_ANIMATION_DROP);\r\n }\r\n psids.push(item.id);\r\n //缓存图元的数据,偏于后期操作\r\n this.GM.setGraphic(item.id, feature).setGraphicParam(item.id, {\r\n attributes: { ...item, other: item },\r\n geometryType: 'point',\r\n geometry: {\r\n type: 'point',\r\n x: parseFloat(item.longitude),\r\n y: parseFloat(item.latitude),\r\n },\r\n source\r\n });\r\n });\r\n if (type !== 'defined') {\r\n // t.state.pointIds = psids;\r\n t.setState({\r\n pointIds: psids\r\n })\r\n }\r\n }\r\n //更新点\r\n updatePoint(mapPoints = []) {\r\n let t = this;\r\n let index = 0;\r\n const dealPoint = (item) => {\r\n if (this.GM.isRepetition(item.id)) {\r\n //点位数据不符合,直接跳过\r\n if (!item.longitude || !item.latitude) {\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n let gc = t.GM.getGraphic(item.id);\r\n let gp = t.GM.getGraphicParam(item.id);\r\n let cg = {\r\n width: 30,\r\n height: 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n BAnimationType: 3,\r\n //默认点的偏移值就不同\r\n markerContentX: -15,\r\n markerContentY: -30,\r\n deg: 0,\r\n };\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n\r\n let text, icon, marker;\r\n let myImage = new Image(cg.width, cg.height);\r\n if (item.markerContent) {\r\n let overlay = t.state.gis.getOverlayById(item.id);\r\n let nodes = t.parseDom(item.markerContent)[0];\r\n nodes.addEventListener(\"click\", e => {\r\n t.clickGraphic(item.id,{\r\n ...e,\r\n pixel: [e.clientX,e.clientY]\r\n })\r\n })\r\n overlay.setElement(nodes);\r\n overlay.setPosition([parseFloat(item.longitude), parseFloat(item.latitude)]);\r\n t.state.gis.changed();\r\n } else {\r\n canvasDataURL(\r\n item.url || require(\"../images/defaultMarker.png\"),\r\n { width: cg.width, height: cg.height },\r\n function (base64) {\r\n myImage.src = base64;\r\n }\r\n )\r\n icon = new ol.style.Icon({\r\n anchor: [-cg.markerContentX, -cg.markerContentY],\r\n anchorXUnits: 'pixels',\r\n anchorYUnits: 'pixels',\r\n // src: item.url || require(\"../images/defaultMarker.png\"),\r\n img: myImage,\r\n imgSize: [cg.width, cg.height],\r\n opacity: cg.opacity,\r\n scale: cg.scale || 1,\r\n rotation: Math.PI / 180 * cg.deg,\r\n })\r\n if (item.canShowLabel) {\r\n let textStyle = {\r\n textAlign: 'center', //对齐方式\r\n textBaseline: 'middle', //文本基线\r\n font: 'normal 12px 微软雅黑', //字体样式\r\n text: cg.labelContent, //文本内容\r\n offsetX: cg.labelPixelX, // x轴偏置\r\n offsetY: cg.labelPixelY, // Y轴偏置\r\n fill: new ol.style.Fill({\r\n //填充样式\r\n color: '#1890ff',\r\n }),\r\n backgroundFill: new ol.style.Fill({\r\n // 填充背景\r\n color: 'rgba(255, 255, 255, 1)',\r\n }),\r\n padding: [2, 5, 2, 5],\r\n ...(cg.labelStyle || {})\r\n }\r\n if(cg.labelStyle && cg.labelStyle.fill){\r\n textStyle['fill'] = new ol.style.Fill({\r\n color: cg.labelStyle.fill\r\n })\r\n }\r\n if(cg.labelStyle && cg.labelStyle.backgroundFill){\r\n textStyle['backgroundFill'] = new ol.style.Fill({\r\n color: cg.labelStyle.backgroundFill\r\n })\r\n }\r\n text = new ol.style.Text(textStyle)\r\n }\r\n if (text) {\r\n gc.setStyle(new ol.style.Style({\r\n image: icon,\r\n text,\r\n }))\r\n } else {\r\n gc.setStyle(new ol.style.Style({\r\n image: icon,\r\n }))\r\n }\r\n }\r\n gc.setGeometry(new ol.geom.Point([parseFloat(item.longitude), parseFloat(item.latitude)]));\r\n this.GM.setGraphicParam(\r\n item.id,\r\n {\r\n attributes: { ...item, other: item },\r\n geometryType: 'point',\r\n geometry: {\r\n type: 'point',\r\n x: parseFloat(item.longitude),\r\n y: parseFloat(item.latitude)\r\n },\r\n source: gp.source\r\n }\r\n );\r\n } else {\r\n console.warn(`更新的点位id不存在!`);\r\n return false;\r\n }\r\n if (index < mapPoints.length - 1) {\r\n requestIdleCallback(() => dealPoint(mapPoints[++index]))\r\n } else {\r\n t.refresh();\r\n }\r\n }\r\n if (!isEmpty(mapPoints)) {\r\n requestIdleCallback(() => dealPoint(mapPoints[index]))\r\n }\r\n }\r\n // 更新图层\r\n refresh(){\r\n const t = this;\r\n let timer = setTimeout(()=>{\r\n clearTimeout(timer);\r\n window.VtxMap[t.props.mapId].redrawText();\r\n },100)\r\n }\r\n // 添加先\r\n addLine(mapLines, type) {\r\n let t = this;\r\n let ls = [];\r\n let lsids = [...t.state.lineIds];\r\n //遍历添加线(图元)\r\n mapLines.map((item, index) => {\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`多折线id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多折线点位数据不符合,直接跳过\r\n if (!(item.paths && item.paths.length >= 2)) {\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',\r\n isHidden: false,\r\n };\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n const style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.color,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n });\r\n let polyline = new ol.Feature({\r\n geometry: new ol.geom.LineString(item.paths),\r\n id: item.id,\r\n params: {\r\n ...item,\r\n },\r\n });\r\n polyline.setStyle(style);\r\n let source = new ol.source.Vector({\r\n features: [polyline],\r\n name: 'polyline',\r\n id: item.id,\r\n })\r\n let lineLayer = new ol.layer.Vector({\r\n name: 'polyline',\r\n id: item.id,\r\n source,\r\n });\r\n t.state.gis.addLayer(lineLayer);\r\n //缓存图元的数据,便于后期操作\r\n let pts = item.paths.map((itt, ind) => {\r\n return [...itt];\r\n });\r\n this.GM.setGraphic(item.id, polyline).setGraphicParam(item.id, {\r\n attributes: {\r\n ...item,\r\n paths: pts,\r\n other: item,\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: pts,\r\n },\r\n source: source,\r\n });\r\n ls.push(polyline);\r\n lsids.push(item.id);\r\n t.state.lineIds.push(item.id);\r\n });\r\n if (type !== 'defined') {\r\n t.state.lineIds = lsids;\r\n }\r\n }\r\n //更新线\r\n updateLine(mapLines) {\r\n let t = this;\r\n //遍历添加线(图元)\r\n mapLines.map((item, index) => {\r\n //判断图元是否存在.\r\n if (this.GM.isRepetition(item.id)) {\r\n //多折线点位数据不符合,直接跳过\r\n if (!(item.paths && item.paths.length >= 2)) {\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n //初始化默认参数\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',//'solid' 'dashed'\r\n isHidden: false\r\n }\r\n //获取原有的图元\r\n let gc = this.GM.getGraphic(item.id);\r\n let gp = this.GM.getGraphicParam(item.id);\r\n //重新初始化值\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n let pts = item.paths.map((itt, ind) => {\r\n return [...itt];\r\n });\r\n const style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.color,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n zIndex: cg.zIndex || 0,\r\n }),\r\n });\r\n gc.setStyle(() => {\r\n return style\r\n })\r\n gc.setGeometry(new ol.geom.LineString(pts));\r\n this.GM.setGraphicParam(item.id, {\r\n attributes: {\r\n ...item,\r\n paths: pts,\r\n other: item,\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: pts,\r\n },\r\n source: gp.source,\r\n });\r\n } else {\r\n console.warn(`更新的多折线id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //添加面\r\n addPolygon(mapPolygons) {\r\n let t = this;\r\n let pgs = [];\r\n let pgsids = [...t.state.polygonIds];\r\n //遍历添加面(图元)\r\n mapPolygons.map((item, index) => {\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`多边形id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多边形点位数据不符合,直接跳过\r\n if (!(item.rings && item.rings.length >= 3)) {\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5,\r\n };\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n const style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.lineColor,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: cg.pellucidity ? getRgbColor(cg.color, cg.pellucidity) : cg.color,\r\n }),\r\n });\r\n let polygon = new ol.Feature({\r\n geometry: new ol.geom.Polygon([item.rings]),\r\n id: item.id,\r\n params: {\r\n ...item,\r\n },\r\n name: 'polygon',\r\n });\r\n polygon.setStyle(style);\r\n let source = new ol.source.Vector({\r\n features: [polygon],\r\n id: item.id,\r\n })\r\n let polygonLayer = new ol.layer.Vector({\r\n name: 'polygon',\r\n id: item.id,\r\n source,\r\n });\r\n t.state.gis.addLayer(polygonLayer);\r\n //缓存图元的数据,便于后期操作\r\n let pts = item.rings.map((itt, ind) => {\r\n return [...itt];\r\n });\r\n this.GM.setGraphic(item.id, polygon).setGraphicParam(item.id, {\r\n attributes: {\r\n ...item,\r\n rings: pts,\r\n other: item,\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: pts,\r\n },\r\n source\r\n });\r\n pgs.push(polygon);\r\n pgsids.push(item.id);\r\n });\r\n t.state.polygonIds = pgsids;\r\n }\r\n //更新面\r\n updatePolygon(mapPolygons) {\r\n let t = this;\r\n mapPolygons.map((item, index) => {\r\n //判断图元是否存在.\r\n if (this.GM.isRepetition(item.id)) {\r\n //多边形点位数据不符合,直接跳过\r\n if (!(item.rings && item.rings.length >= 3)) {\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = this.GM.getGraphic(item.id);\r\n let gp = t.GM.getGraphicParam(item.id);\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n };\r\n //重新初始化值\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n let pts = item.rings.map((itt, ind) => {\r\n return [...itt];\r\n });\r\n gc.setGeometry(new ol.geom.Polygon([pts]));\r\n gc.setStyle(new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.lineColor,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: cg.pellucidity ? getRgbColor(cg.color, cg.pellucidity) : cg.color,\r\n }),\r\n }))\r\n this.GM.setGraphicParam(item.id, {\r\n attributes: {\r\n ...item,\r\n rings: pts,\r\n other: item,\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: pts,\r\n },\r\n source: gp.source\r\n });\r\n } else {\r\n console.warn(`更新的多边形id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //添加圆 circle\r\n addCircle(mapCircles, type) {\r\n let t = this;\r\n let ccsids = [...t.state.circleIds];\r\n if (type) {\r\n ccsids = [...t.state.drawIds[type]];\r\n }\r\n mapCircles.map((item, index) => {\r\n //如果id重复,直接跳过不执行.\r\n if (t.GM.isRepetition(item.id)) {\r\n console.warn(`圆id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //圆 点位数据不符合,直接跳过\r\n if (!item.longitude || !item.latitude) {\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要在加\r\n }\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n const style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.lineColor,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: cg.pellucidity ? getRgbColor(cg.color, cg.pellucidity) : cg.color,\r\n }),\r\n });\r\n let metersPerUnit = t.state.gis.getView().getProjection().getMetersPerUnit();\r\n let circleRadius = item.radius / metersPerUnit;\r\n let circle = new ol.Feature({\r\n geometry: new ol.geom.Circle([item.longitude, item.latitude], parseFloat(circleRadius)),\r\n id: item.id,\r\n params: {\r\n ...item,\r\n },\r\n name: 'circle'\r\n });\r\n circle.setStyle(style);\r\n let source = new ol.source.Vector({\r\n features: [circle],\r\n name: 'circle',\r\n id: item.id,\r\n });\r\n let circleLayer = new ol.layer.Vector({\r\n name: 'circle',\r\n id: item.id,\r\n source\r\n });\r\n t.state.gis.addLayer(circleLayer);\r\n ccsids.push(item.id);\r\n t.GM.setGraphic(item.id, circle)\r\n .setGraphicParam(item.id, {\r\n attributes: { ...item, other: item },\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: parseFloat(item.longitude),\r\n y: parseFloat(item.latitude),\r\n radius: parseFloat(item.radius)\r\n },\r\n source\r\n });\r\n });\r\n //添加绘制点\r\n if (type) {\r\n t.state.drawIds = {\r\n ...t.state.drawIds,\r\n [type]: ccsids\r\n }\r\n } else {\r\n t.state.circleIds = ccsids;\r\n }\r\n }\r\n //更新圆\r\n updateCircle(mapCircles) {\r\n let t = this;\r\n mapCircles.map((item, index) => {\r\n //判断图元是否存在.\r\n if (t.GM.isRepetition(item.id)) {\r\n //圆 点位数据不符合,直接跳过\r\n if (!item.longitude || !item.latitude) {\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n } else {\r\n console.warn(`更新的圆id不存在!`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = t.GM.getGraphic(item.id);\r\n let gp = t.GM.getGraphicParam(item.id);\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要在加\r\n }\r\n if (item.config) {\r\n cg = { ...cg, ...item.config };\r\n }\r\n let metersPerUnit = t.state.gis.getView().getProjection().getMetersPerUnit();\r\n let circleRadius = item.radius / metersPerUnit;\r\n gc.setGeometry(new ol.geom.Circle([item.longitude, item.latitude], parseFloat(circleRadius)));\r\n gc.setStyle(new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: cg.lineColor,\r\n width: cg.lineWidth,\r\n lineDash: cg.lineType == 'dashed' ? [2] : undefined,\r\n }),\r\n fill: new ol.style.Fill({\r\n color: cg.pellucidity ? getRgbColor(cg.color, cg.pellucidity) : cg.color,\r\n }),\r\n }))\r\n t.GM.setGraphicParam(item.id, {\r\n attributes: { ...item, other: item },\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: parseFloat(item.longitude),\r\n y: parseFloat(item.latitude),\r\n radius: parseFloat(item.radius)\r\n },\r\n source: gp.source,\r\n });\r\n });\r\n //刷新图元\r\n }\r\n // 工具方法\r\n //删除图元\r\n removeGraphic(id, type) {\r\n let t = this;\r\n let graphic = t.GM.getGraphic(id);\r\n let gp = t.GM.getGraphicParam(id);\r\n //刪除label\r\n if (t.Label[id]) {\r\n t.Label[id].html.remove();\r\n delete t.Label[id];\r\n }\r\n if (!!graphic) {\r\n //清除聚合点 避免异常\r\n // t._cluster.removeMarker(this.GM.getGraphic(id));\r\n //清除地图中图元\r\n // const layers = t.state.gis.getLayers().getArray();\r\n // const layer = layers.filter(item => item.getProperties().name == type)[0];\r\n gp.source.removeFeature(graphic);\r\n // layer && layer.getSource().removeFeature(graphic);\r\n //清除对应id的图元数据缓存\r\n t.GM.removeGraphic(id);\r\n t.GM.removeGraphicParam(id);\r\n if(t.state.gis.getOverlayById(id)){\r\n t.state.gis.removeOverlay(t.state.gis.getOverlayById(id))\r\n }\r\n } else {\r\n return false;\r\n }\r\n for (let i = 0; i < t.movePoints.length; i++) {\r\n if (t.movePoints[i].id == id) {\r\n t.movePoints.splice(i, 1);\r\n continue;\r\n }\r\n }\r\n let ids = [];\r\n switch (type) {\r\n case 'point':\r\n ids = t.state.pointIds;\r\n break;\r\n case 'line':\r\n ids = t.state.lineIds;\r\n break;\r\n case 'polygon':\r\n ids = t.state.polygonIds;\r\n break;\r\n case 'circle':\r\n ids = t.state.circleIds;\r\n break;\r\n case 'draw':\r\n if (t.state.drawIds.point.indexOf(id) > -1) {\r\n t.state.drawIds.point.splice(t.state.drawIds.point.indexOf(id), 1);\r\n }\r\n if (t.state.drawIds.polyline.indexOf(id) > -1) {\r\n t.state.drawIds.polyline.splice(t.state.drawIds.polyline.indexOf(id), 1);\r\n }\r\n if (t.state.drawIds.polygon.indexOf(id) > -1) {\r\n t.state.drawIds.polygon.splice(t.state.drawIds.polygon.indexOf(id), 1);\r\n }\r\n if (t.state.drawIds.circle.indexOf(id) > -1) {\r\n t.state.drawIds.circle.splice(t.state.drawIds.circle.indexOf(id), 1);\r\n }\r\n if (t.state.drawIds.rectangle.indexOf(id) > -1) {\r\n t.state.drawIds.rectangle.splice(t.state.drawIds.rectangle.indexOf(id), 1);\r\n }\r\n break;\r\n default:\r\n if (t.state.pointIds.indexOf(id) > -1) {\r\n t.state.pointIds.splice(t.state.pointIds.indexOf(id), 1);\r\n }\r\n if (t.state.lineIds.indexOf(id) > -1) {\r\n t.state.lineIds.splice(t.state.lineIds.indexOf(id), 1);\r\n }\r\n if (t.state.polygonIds.indexOf(id) > -1) {\r\n t.state.polygonIds.splice(t.state.polygonIds.indexOf(id), 1);\r\n }\r\n if (t.state.circleIds.indexOf(id) > -1) {\r\n t.state.circleIds.splice(t.state.circleIds.indexOf(id), 1);\r\n }\r\n break;\r\n }\r\n if (id == t.state.editId) {\r\n t.state.editId = '';\r\n }\r\n if (ids.indexOf(id) != -1) {\r\n ids.splice(ids.indexOf(id), 1);\r\n }\r\n }\r\n //清空地图\r\n clearAll() {\r\n let t = this;\r\n const { gis } = t.state;\r\n const layers = gis.getLayers();\r\n //清空热力图\r\n if (t.heatmap) {\r\n let hMap = layers.filter(item => item.name == 'heatMap')[0];\r\n hMap.getSource().clear();\r\n gis.removeLayer(layer);\r\n }\r\n t.heatmap = null;\r\n t.movePoints = [];\r\n\r\n t.state.pointIds = [];\r\n t.pointLayers.map(item => {\r\n gis.removeLayer(item.layer)\r\n t.pointLayers = [];\r\n })\r\n\r\n t.clearAllPointCollection();\r\n t.closeDraw();\r\n if(t.clusterInfo.clusterHulls || t.clusterInfo.clusters || t.clusterInfo.clusterCircles){\r\n t.clusterHulls.getSource().clear();\r\n t.clusterInfo.clusterSource = null;\r\n gis.removeLayer(t.clusterInfo.clusterHulls);\r\n gis.removeLayer(t.clusterInfo.clusters);\r\n gis.removeLayer(t.clusterInfo.clusterCircles);\r\n t.clusterInfo.clusterHulls= null;\r\n t.clusterInfo.clusters = null;\r\n t.clusterInfo.clusterCircles = null;\r\n }\r\n //清空缓存数据\r\n t.GM.clearAll();\r\n //循环所有id删除\r\n let { pointIds, lineIds, polygonIds, circleIds, drawIds } = t.state;\r\n //拷贝数组,避免原数组操作,影响循环\r\n let ps = [...pointIds],\r\n ls = [...lineIds],\r\n pgs = [...polygonIds],\r\n cs = [...circleIds];\r\n // 删除点\r\n for (let i = 0; i < ps.length; i++) {\r\n t.removeGraphic(ps[i], 'point');\r\n }\r\n // 删除线\r\n for (let i = 0; i < ls.length; i++) {\r\n t.removeGraphic(ls[i], 'line');\r\n }\r\n // 删除面\r\n for (let i = 0; i < pgs.length; i++) {\r\n t.removeGraphic(pgs[i], 'polygon');\r\n }\r\n // 删除圆\r\n for (let i = 0; i < cs.length; i++) {\r\n t.removeGraphic(cs[i], 'circle');\r\n }\r\n //删除绘制的点\r\n let { point, polyline, polygon, circle, rectangle } = drawIds;\r\n for (let i = 0; i < point.length; i++) {\r\n t.removeGraphic(point[i]);\r\n }\r\n for (let i = 0; i < polyline.length; i++) {\r\n t.removeGraphic(polyline[i]);\r\n }\r\n for (let i = 0; i < polygon.length; i++) {\r\n t.removeGraphic(polygon[i]);\r\n }\r\n for (let i = 0; i < circle.length; i++) {\r\n t.removeGraphic(circle[i]);\r\n }\r\n for (let i = 0; i < rectangle.length; i++) {\r\n t.removeGraphic(rectangle[i]);\r\n }\r\n }\r\n //展示比例尺\r\n showControl(props) {\r\n let t = this;\r\n const { gis } = t.state;\r\n const config = props.showControl ;\r\n if (t.scaleControl) {\r\n gis.removeControl(t.scaleControl);\r\n }\r\n t.scaleControl = new ol.control.ScaleLine({\r\n units: 'metric',\r\n //设置度量单位\r\n className: `ol-scale-line-${config.location}`\r\n });\r\n gis.addControl(t.scaleControl);\r\n setTimeout(function (){\r\n if(config.location == 'tl'){\r\n $(`div.ol-scale-line-${config.location}`).css({\r\n position: 'absolute',\r\n left: config.offset?config.offset[0]:0+65,\r\n top: config.offset?config.offset[1]:0,\r\n textAlign: 'center',\r\n })\r\n }else if(config.location == 'bl'){\r\n $(`div.ol-scale-line-${config.location}`).css({\r\n position: 'absolute',\r\n left: config.offset?config.offset[0]:0+65,\r\n bottom: config.offset?config.offset[1]:0,\r\n textAlign: 'center',\r\n })\r\n }else if(config.location == 'tr'){\r\n $(`div.ol-scale-line-${config.location}`).css({\r\n position: 'absolute',\r\n right: config.offset?config.offset[0]:0+65,\r\n top: config.offset?config.offset[1]:0,\r\n textAlign: 'center',\r\n })\r\n }else if(config.location == 'br'){\r\n $(`div.ol-scale-line-${config.location}`).css({\r\n position: 'absolute',\r\n right: config.offset?config.offset[0]:0+65,\r\n bottom: config.offset?config.offset[1]:0,\r\n textAlign: 'center',\r\n })\r\n }\r\n }, 20)\r\n }\r\n //设置区域限制\r\n setAreaRestriction(areaRestriction) {\r\n let t = this;\r\n let { _extent: _et } = t.dealData(areaRestriction);\r\n t.areaRestriction = t.state.gis.getView().setProperties({\r\n extent: [_et.xmax, _et.ymax, _et.xmin, _et.ymin],\r\n }, false);\r\n }\r\n //关闭区域限制\r\n clearAreaRestriction() {\r\n let t = this;\r\n t.areaRestriction = null;\r\n }\r\n //区域限制逻辑\r\n dealAreaRestriction(e) {\r\n let t = this;\r\n //如果在区域内,不处理\r\n if (t.areaRestriction.contains(e.extent.getCenter())) {\r\n return;\r\n }\r\n // if(t.containsExtent(t.areaRestriction,e.extent)){\r\n // return;\r\n // }\r\n let { xmin: xmin1, xmax: xmax1, ymin: ymin1, ymax: ymax1 } = t.areaRestriction;\r\n let { xmin: xmin2, xmax: xmax2, ymin: ymin2, ymax: ymax2 } = e.extent;\r\n let x = e.extent.getCenter().x,\r\n y = e.extent.getCenter().y;\r\n if (x < xmin1) x = xmin1 + 0.1;\r\n if (x > xmax1) x = xmax1 - 0.1;\r\n if (y < ymin1) y = ymin1 + 0.1;\r\n if (y > ymax1) y = ymax1 - 0.1;\r\n t.state.gis.getView().setCenter([x, y]);\r\n }\r\n //聚合地图图元(arg为空时聚合全部点)\r\n cluster(arg){\r\n let t = this;\r\n let ary = [];\r\n if(!arg){\r\n let {pointIds} = t.state;\r\n ary = pointIds;\r\n }else{\r\n if(Object.prototype.toString.apply(arg) === '[object Array]'){\r\n ary = arg;\r\n }else if(typeof arg === 'string'){\r\n ary = arg.split(',');\r\n }\r\n }\r\n t.pointLayers.map(item => {\r\n t.state.gis.removeLayer(item.layer);\r\n t.pointLayers=[];\r\n })\r\n let ms = this.GM.getMoreGraphic(ary).filter((item,index)=>{\r\n // return !item && item != 0 ? false : true;\r\n return item && item.getGeometry().getType() === 'Point' && !item.label;\r\n });\r\n const source = new ol.source.Vector({\r\n features: ms\r\n })\r\n t.clusterInfo.clusterSource = new ol.source.Cluster({\r\n distance: 80,\r\n minDistance: 0,\r\n source\r\n });\r\n if (t.clusterInfo.clusterHulls) {\r\n t.clusterInfo.clusterHulls.setSource(t.clusterInfo.clusterSource)\r\n } else {\r\n t.clusterInfo.clusterHulls = new ol.layer.Vector({\r\n source: t.clusterInfo.clusterSource,\r\n style: clusterHullStyle,\r\n });\r\n t.state.gis.addLayer(t.clusterInfo.clusterHulls);\r\n }\r\n \r\n if (t.clusterInfo.clusters) {\r\n t.clusterInfo.clusters.setSource(t.clusterInfo.clusterSource)\r\n } else {\r\n t.clusterInfo.clusters = new ol.layer.Vector({\r\n source: t.clusterInfo.clusterSource,\r\n style: clusterStyle,\r\n });\r\n t.state.gis.addLayer(t.clusterInfo.clusters);\r\n }\r\n if (t.clusterInfo.clusterCircles) {\r\n t.clusterInfo.clusterCircles.setSource(t.clusterInfo.clusterSource)\r\n } else {\r\n t.clusterInfo.clusterCircles = new ol.layer.Vector({\r\n source: t.clusterInfo.clusterSource,\r\n style: clusterCircleStyle,\r\n });\r\n t.state.gis.addLayer(t.clusterInfo.clusterCircles);\r\n }\r\n\r\n \r\n function clusterMemberStyle(clusterMember) {\r\n let style = clusterMember.getStyle();\r\n let image = style&&style.getImage ? style.getImage() : null;\r\n let text = style&&style.getText ? style.getText() : null;\r\n return new ol.style.Style({\r\n image: image,\r\n text: text\r\n });\r\n }\r\n function clusterCircleStyle(cluster, resolution) {\r\n if (cluster !== t.clusterInfo.clickFeature || resolution !== t.clusterInfo.clickResolution) {\r\n return;\r\n }\r\n const clusterMembers = cluster.get('features');\r\n const centerCoordinates = cluster.getGeometry().getCoordinates();\r\n return generatePointsCircle(\r\n clusterMembers.length,\r\n cluster.getGeometry().getCoordinates(),\r\n resolution,\r\n ).reduce((styles, coordinates, i) => {\r\n const point = new ol.geom.Point(coordinates);\r\n const line = new ol.geom.LineString([centerCoordinates, coordinates]);\r\n styles.unshift(\r\n new ol.style.Style({\r\n geometry: line,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(204, 85, 0, 1)',\r\n width: 1.5,\r\n }),\r\n }),\r\n );\r\n styles.push(\r\n clusterMemberStyle(\r\n new ol.Feature({\r\n ...clusterMembers[i].getProperties(),\r\n geometry: point,\r\n }),\r\n ),\r\n );\r\n return styles;\r\n }, []);\r\n }\r\n function generatePointsCircle(count, clusterCenter, resolution) {\r\n const circumference = 1 * 28 * (2 + count);\r\n let legLength = circumference / (Math.PI * 2); //radius from circumference\r\n const angleStep = (Math.PI * 2) / count;\r\n const res = [];\r\n let angle;\r\n legLength = Math.max(legLength, 35) * resolution; // Minimum distance to get outside the cluster icon.\r\n for (let i = 0; i < count; ++i) {\r\n // Clockwise, like spiral.\r\n angle = Math.PI / 2 + i * angleStep;\r\n res.push([\r\n clusterCenter[0] + legLength * Math.cos(angle),\r\n clusterCenter[1] + legLength * Math.sin(angle),\r\n ]);\r\n }\r\n return res;\r\n }\r\n function clusterHullStyle(cluster) {\r\n if (cluster !== t.clusterInfo.hoverFeature) {\r\n return;\r\n }\r\n const originalFeatures = cluster.get('features');\r\n const points = originalFeatures.map(feature => feature.getGeometry().getCoordinates());\r\n return new ol.style.Style({\r\n geometry: new ol.geom.Polygon(points),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 153, 0, 0.4)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(204, 85, 0, 1)',\r\n width: 1.5,\r\n }),\r\n });\r\n }\r\n function clusterStyle(feature) {\r\n const size = feature.get('features').length;\r\n if (size > 2) {\r\n return [\r\n new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 20,\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 153, 102, 0.3)',\r\n }),\r\n }),\r\n }),\r\n new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 14,\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 165, 0, 0.7)',\r\n }),\r\n }),\r\n text: new ol.style.Text({\r\n text: size.toString(),\r\n fill: new ol.style.Fill({\r\n color: '#fff',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.6)',\r\n width: 3,\r\n }),\r\n }),\r\n }),\r\n ];\r\n } else {\r\n return feature.get('features').map(originalFeature => clusterMemberStyle(originalFeature))\r\n }\r\n }\r\n }\r\n clearCluster(arg){\r\n const t = this;\r\n let ids = (arg && arg?.length>0) ? arg : t.state.pointIds;\r\n if(t.clusterInfo.clusterHulls){\r\n t.state.gis.removeLayer(t.clusterInfo.clusterHulls);\r\n t.clusterInfo.clusterHulls = null;\r\n }\r\n if(t.clusterInfo.clusters){\r\n t.state.gis.removeLayer(t.clusterInfo.clusters);\r\n t.clusterInfo.clusters = null;\r\n }\r\n if(t.clusterInfo.clusterCircles){\r\n t.state.gis.removeLayer(t.clusterInfo.clusterCircles);\r\n t.clusterInfo.clusterCircles = null;\r\n }\r\n ids.map(id=>{\r\n if(t.GM.getGraphic(id)){\r\n t.GM.removeGraphic(id);\r\n }\r\n t.state.pointIds.splice(t.state.pointIds.indexOf(id),1)\r\n })\r\n t.addPoint(t.props.mapPoints)\r\n t.refresh();\r\n }\r\n /*公共方法*/\r\n //判断extent1是否在extent2内部\r\n containsExtent(e1, e2) {\r\n let { xmin: xmin1, xmax: xmax1, ymin: ymin1, ymax: ymax1 } = e1;\r\n let { xmin: xmin2, xmax: xmax2, ymin: ymin2, ymax: ymax2 } = e2;\r\n return xmin2 > xmin1 && xmax2 < xmax1 && ymin2 > ymin1 && ymax2 < ymax1;\r\n }\r\n //将图元z-index设置成最高\r\n czIndex(id) {\r\n let t = this;\r\n $(`#${t.props.mapId}_graphics_layer`).append(t.GM.getGraphic(id).getNode());\r\n }\r\n equalsPoint(a, b) {\r\n return a.x == b.x && a.y == b.y;\r\n }\r\n //计算2点间距离 单位m 精确到2位小数\r\n calculatePointsDistance(fp, ep) {\r\n console.log(fp, ep)\r\n let distance = ol.sphere.getDistance(fp, ep);\r\n console.log(distance)\r\n return Math.round(distance);\r\n }\r\n //计算多个点的距离(常用于线计算)\r\n calculateDistance(ps) {\r\n let t = this,\r\n totalDistance = 0;\r\n if (ps.length < 0) {\r\n return 0;\r\n }\r\n for (let i = 0; i < ps.length; i++) {\r\n if (i < ps.length - 1) {\r\n const distance = t.calculatePointsDistance(ps[i], ps[i + 1])\r\n console.log(distance)\r\n totalDistance += distance;\r\n }\r\n }\r\n console.log(totalDistance)\r\n return Math.round(totalDistance * 100) / 100;\r\n }\r\n //处理线和面的 经纬度数据\r\n dealData(paths) {\r\n //区别点和圆的经纬度数据处理\r\n let lnglatAry = [],\r\n _extent = { xmax: 0, xmin: 0, ymax: 0, ymin: 0 },\r\n path = [];\r\n path = paths.map((item, index) => {\r\n let lng = item[0],\r\n lat = item[1];\r\n if (lng > _extent.xmax) {\r\n _extent.xmax = lng;\r\n }\r\n if (lng < _extent.xmin || _extent.xmin == 0) {\r\n _extent.xmin = lng;\r\n }\r\n if (lat > _extent.ymax) {\r\n _extent.ymax = lat;\r\n }\r\n if (lat < _extent.ymin || _extent.ymin == 0) {\r\n _extent.ymin = lat;\r\n }\r\n lnglatAry.push({\r\n lngX: lng,\r\n latX: lat,\r\n });\r\n return [lng, lat];\r\n });\r\n return { lnglatAry, _extent, path };\r\n }\r\n //处理点位图元的添加 和 更新\r\n dealLabelGraphics(id, label) {\r\n let t = this;\r\n if (label) {\r\n let position = (t.GM.getGraphic(id) || {}).geometry || label.position;\r\n //经纬度转top和left\r\n let tl = t.state.gis.toScreen(position),\r\n lbl = { ...label };\r\n //渲染優化\r\n if (\r\n !(tl.y < -50 || tl.x < -50 || tl.y > t.state.gis.height || tl.x > t.state.gis.width)\r\n ) {\r\n //设置label的位置(通过定位来实现)\r\n label.html.css({\r\n position: 'absolute',\r\n top: tl.y + (label.offset.y || 0) - t.labelLayer.y,\r\n left: tl.x + (label.offset.x || 0) - t.labelLayer.x,\r\n });\r\n //添加点位到(地图)\r\n $(`#${t.htmlPointsId}`).append(label.html);\r\n lbl.add = true;\r\n } else {\r\n lbl.add = false;\r\n }\r\n //记录下label的dom对象,用于后期修改和删除(基本是删除)\r\n t.Label[id] = lbl;\r\n }\r\n }\r\n //点的跳动动画\r\n pointAnimation(id, marker) {\r\n let t = this;\r\n //null时关闭跳动\r\n if (!!marker) {\r\n if (t.animTimer[id]) {\r\n clearInterval(t.animTimer[id]);\r\n }\r\n t.animTimer[id] = setInterval(() => {\r\n //点被隐藏时,没有执行,定时不关\r\n if (marker.symbol) {\r\n let shape = { ...marker.symbol };\r\n //初始数据 点位有变动,重新刷新数据\r\n if (!t.animCount[id] || shape.yoffset != t.animCount[id].now) {\r\n t.animCount[id] = {\r\n start: shape.yoffset,\r\n now: shape.yoffset,\r\n notation: -1,\r\n };\r\n }\r\n if (t.animCount[id].now - t.animCount[id].start == 20) {\r\n t.animCount[id].notation = -1;\r\n }\r\n if (t.animCount[id].now - t.animCount[id].start == 0) {\r\n t.animCount[id].notation = 1;\r\n }\r\n shape.yoffset = t.animCount[id].now =\r\n t.animCount[id].now + t.animCount[id].notation * 2;\r\n marker.symbol.setOffset(shape.xoffset, shape.yoffset);\r\n t.state.gis.graphics.refresh();\r\n }\r\n }, 35);\r\n } else {\r\n clearInterval(t.animTimer[id]);\r\n }\r\n }\r\n moveAnimation() {\r\n let t = this;\r\n if (t.moveToTimer) {\r\n clearInterval(t.moveToTimer);\r\n }\r\n t.moveToTimer = setInterval(() => {\r\n for (let i = 0; i < t.movePoints.length; i++) {\r\n t.movePoints[i].waitTime += 10;\r\n t.movePoints[i].deleteTime -= 10;\r\n }\r\n t.movePoints.sort((x, y) => {\r\n return y.waitTime - x.waitTime;\r\n });\r\n let nowMovePoints = t.movePoints.slice(0, 10),\r\n deleteIndex = [];\r\n for (let i = 0; i < nowMovePoints.length; i++) {\r\n let { id, rx, ry, waitTime, deleteTime, ddeg } = nowMovePoints[i];\r\n let gc = t.GM.getGraphic(id);\r\n if (!gc || !gc._graphicsLayer) {\r\n clearInterval(t.moveToTimer);\r\n } else {\r\n let gg = gc.getGeometry();\r\n let tx = gg[0] + rx, ty = gg[1] + ry;\r\n gc.setGeometry([tx, ty])\r\n t.movePoints[i].waitTime = 0;\r\n if (deleteTime <= 0) {\r\n deleteIndex.push(i);\r\n }\r\n }\r\n }\r\n deleteIndex.sort((a, b) => { return b - a });\r\n for (let i = 0; i < deleteIndex.length; i++) {\r\n t.movePoints.splice(deleteIndex[i], 1);\r\n }\r\n if (nowMovePoints.length == 0) {\r\n clearInterval(t.moveToTimer);\r\n }\r\n }, 10);\r\n }\r\n //点位移动动画效果\r\n moveTo(id, lnglat, delay, autoRotation, urlright, urlleft) {\r\n delay = delay || 3;\r\n let t = this,\r\n timer = 10;\r\n delay = eval(delay) * 1000;\r\n let count = delay / timer,\r\n gc = this.GM.getGraphic(id);\r\n let s = gc.geometry,\r\n e = { x: lnglat[0], y: lnglat[1] };\r\n if (t.equalsPoint(s, e)) {\r\n return false;\r\n } else {\r\n let ddeg = 0,\r\n url = null;\r\n //计算角度,旋转\r\n if (autoRotation) {\r\n //自己实现旋转\r\n ddeg = t.rotateDeg(gc.geometry, lnglat);\r\n if (urlleft && ddeg < -90 && ddeg > -270) {\r\n ddeg += 180;\r\n url = urlleft;\r\n } else {\r\n url = urlright;\r\n }\r\n gc.setStyle(new ol.style.Style({\r\n image: new ol.style.Icon({\r\n src: url,\r\n rotation: Math.PI / 180 * ddeg,\r\n })\r\n }))\r\n }\r\n //拆分延迟移动定位\r\n let rx = (e.x - s.x) / count,\r\n ry = (e.y - s.y) / count;\r\n let isHave = false;\r\n for (let i = 0; i < t.movePoints.length; i++) {\r\n if (t.movePoints[i].id == id) {\r\n t.movePoints.splice(i, 1, {\r\n id,\r\n rx,\r\n ry,\r\n waitTime: 0,\r\n deleteTime: delay,\r\n });\r\n isHave = true;\r\n }\r\n }\r\n if (!isHave) {\r\n t.movePoints.push({\r\n id,\r\n rx,\r\n ry,\r\n waitTime: 0,\r\n deleteTime: delay,\r\n });\r\n }\r\n }\r\n }\r\n //点位角度旋转(以指向东(右)为0°)\r\n rotateDeg(sp, ep) {\r\n let t = this;\r\n let spLngLat = sp;\r\n if (Array.isArray(sp)) {\r\n spLngLat = new ol.geom.Point(sp[0], sp[1]);\r\n }\r\n let s = t.state.gis.getPixelFromCoordinate(spLngLat),\r\n //获取当前点位的经纬度\r\n e = t.state.gis.getPixelFromCoordinate(new ol.geom.Point(ep[0], ep[1])),\r\n deg = 0;\r\n if (e.x != s.x) {\r\n var tan = (e.y - s.y) / (e.x - s.x),\r\n atan = Math.atan(tan);\r\n deg = (atan * 360) / (2 * Math.PI);\r\n //degree correction;\r\n if (e.x < s.x) {\r\n deg = -deg + 90 + 90;\r\n } else {\r\n deg = -deg;\r\n }\r\n deg = -deg;\r\n } else {\r\n var disy = e.y - s.y;\r\n var bias = 0;\r\n if (disy > 0) bias = -1;\r\n else bias = 1;\r\n if (disy == 0) bias = 0;\r\n deg = -bias * 90;\r\n }\r\n return deg;\r\n }\r\n //对比对象数据是否相等\r\n deepEqual(a, b) {\r\n return Immutable.is(Immutable.fromJS(a), Immutable.fromJS(b));\r\n }\r\n //数据解析(分析,新增,更新,删除对应的数据)\r\n dataMatch(oldData, newData, type) {\r\n let onlyOldData = Set(oldData)\r\n .subtract(Set(newData))\r\n .toJS();\r\n let onlyNewData = Set(newData)\r\n .subtract(Set(oldData))\r\n .toJS();\r\n let onlyOldIDs = onlyOldData.map(item => item[type]);\r\n let onlyNewIDs = onlyNewData.map(item => item[type]);\r\n let updateDataIDs = Set(onlyOldIDs)\r\n .intersect(Set(onlyNewIDs))\r\n .toJS();\r\n let updatedData = onlyNewData.filter(item => updateDataIDs.indexOf(item[type]) > -1);\r\n let replacedData = onlyOldData.filter(item => updateDataIDs.indexOf(item[type]) > -1);\r\n let deletedDataIDs = onlyOldIDs.filter(oldID => updateDataIDs.indexOf(oldID) == -1);\r\n let addedData = onlyNewData.filter(item => updateDataIDs.indexOf(item[type]) == -1);\r\n\r\n return { deletedDataIDs, addedData, updatedData, replacedData };\r\n }\r\n //处理需要增加图元的数据(避免意外问题)\r\n dealAdd(ary, ids) {\r\n let ads = [],\r\n otherupds = [];\r\n for (let i = 0; i < ary.length; i++) {\r\n if (ids.indexOf(ary[i].id) > -1) {\r\n otherupds.push(ary[i]);\r\n } else {\r\n ads.push(ary[i]);\r\n }\r\n }\r\n return { ads, otherupds };\r\n }\r\n //处理需要更新图元的数据(避免意外问题)\r\n dealUpdate(ary, ids) {\r\n let upds = [],\r\n otherads = [];\r\n for (let i = 0; i < ary.length; i++) {\r\n if (ids.indexOf(ary[i].id) > -1) {\r\n upds.push(ary[i]);\r\n } else {\r\n otherads.push(ary[i]);\r\n }\r\n }\r\n return { upds, otherads };\r\n }\r\n\r\n render() {\r\n let t = this;\r\n let _map = this.props;\r\n return <div id={_map.mapId} style={{ width: '100%', height: '100%' }}></div>;\r\n }\r\n //初始化\r\n componentDidMount() {\r\n let t = this;\r\n t.loadMapComplete.then(() => {\r\n t.init();\r\n });\r\n }\r\n //已加载组件,收到新的参数时调用\r\n UNSAFE_componentWillReceiveProps(nextProps, prevProps) {\r\n let t = this;\r\n //点/线旧数据\r\n let { pointIds, lineIds, polygonIds, circleIds, drawIds } = t.state;\r\n let { point, polyline, polygon, circle, rectangle } = drawIds;\r\n //点/线新数据\r\n let {\r\n mapPoints = [], mapLines = [], mapPolygons = [], mapCircles = [], customizedBoundary = [],\r\n isOpenTrafficInfo, boundaryName, heatMapData,\r\n mapVisiblePoints, setVisiblePoints,\r\n setCenter, mapCenter,\r\n setZoomLevel, mapZoomLevel,\r\n setCluster, mapCluster,\r\n isRangingTool, mapRangingTool,\r\n isRemove, mapRemove,\r\n mapDraw, isDraw, isCloseDraw,\r\n editGraphicId, isDoEdit, isEndEdit,\r\n mapPointCollection, isclearAllPointCollection,\r\n isSetAreaRestriction, areaRestriction, isClearAreaRestriction,\r\n isClearAll, olProps\r\n } = nextProps;\r\n // 等待地图加载\r\n if (!t.mapCreated) return;\r\n /*点数据处理\r\n pointData[2]相同的点,执行刷新\r\n pointData[1]的数据在idsForGraphicId中不存在的,执行新增\r\n pointData[0]数据中多余的id,执行删除\r\n */\r\n if (mapPoints instanceof Array && t.props.mapPoints instanceof Array && !t.deepEqual(mapPoints, t.props.mapPoints)) {\r\n let oldMapPoints = t.props.mapPoints;\r\n let newMapPoints = mapPoints;\r\n //过滤编辑的图元\r\n if (!!t.editId) {\r\n oldMapPoints = t.props.mapPoints.filter((item) => { return item.id !== editGraphicId });\r\n newMapPoints = mapPoints.filter((item) => { return item.id !== editGraphicId });\r\n }\r\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapPoints, newMapPoints, 'id');\r\n let { ads, otherupds } = t.dealAdd(addedData, [...pointIds, ...point]);\r\n let { upds, otherads } = t.dealUpdate(updatedData, [...pointIds, ...point]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n let index = 0;\r\n const removeGraphic = (id) => {\r\n t.removeGraphic(id, 'point');\r\n if (index < deletedDataIDs.length -1) {\r\n requestIdleCallback(() => removeGraphic(deletedDataIDs[++index]))\r\n }\r\n }\r\n if (!isEmpty(deletedDataIDs)) {\r\n removeGraphic(deletedDataIDs[index])\r\n }\r\n //增加\r\n t.addPoint([...ads, ...otherads]);\r\n //更新\r\n t.updatePoint([...upds, ...otherupds]);\r\n }\r\n /*\r\n 线数据处理\r\n 先全删除,再新增\r\n */\r\n if (mapLines instanceof Array && t.props.mapLines instanceof Array && !t.deepEqual(mapLines, t.props.mapLines)) {\r\n let oldMapLines = t.props.mapLines;\r\n let newMapLines = mapLines;\r\n if (!!t.editId) {\r\n oldMapLines = t.props.mapLines.filter((item) => { return item.id !== editGraphicId });\r\n newMapLines = mapLines.filter((item) => { return item.id !== editGraphicId });\r\n }\r\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapLines, newMapLines, 'id');\r\n let { ads, otherupds } = t.dealAdd(addedData, [...lineIds, ...polyline]);\r\n let { upds, otherads } = t.dealUpdate(updatedData, [...lineIds, ...polyline]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for (let id of deletedDataIDs) {\r\n t.removeGraphic(id, 'line');\r\n }\r\n //增加\r\n t.addLine([...ads, ...otherads]);\r\n //更新\r\n t.updateLine([...upds, ...otherupds]);\r\n }\r\n /*\r\n 面数据处理\r\n 先全删除,再新增\r\n */\r\n if (mapPolygons instanceof Array && t.props.mapPolygons instanceof Array && !t.deepEqual(mapPolygons, t.props.mapPolygons)) {\r\n let oldMapPolygons = t.props.mapPolygons;\r\n let newMapPolygons = mapPolygons;\r\n if (!!t.editId) {\r\n oldMapPolygons = t.props.mapPolygons.filter((item) => { return item.id !== editGraphicId });\r\n newMapPolygons = mapPolygons.filter((item) => { return item.id !== editGraphicId });\r\n }\r\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapPolygons, newMapPolygons, 'id');\r\n let { ads, otherupds } = t.dealAdd(addedData, [...rectangle, ...polygon, ...polygonIds]);\r\n let { upds, otherads } = t.dealUpdate(updatedData, [...rectangle, ...polygon, ...polygonIds]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for (let id of deletedDataIDs) {\r\n t.removeGraphic(id, 'polygon');\r\n }\r\n //增加\r\n t.addPolygon([...ads, ...otherads]);\r\n //更新\r\n t.updatePolygon([...upds, ...otherupds]);\r\n }\r\n /*\r\n 圆数据处理\r\n 先全删除,再新增\r\n */\r\n if (mapCircles instanceof Array && t.props.mapCircles instanceof Array && !t.deepEqual(mapCircles, t.props.mapCircles)) {\r\n let oldMapCircles = t.props.mapCircles;\r\n let newMapCircles = mapCircles;\r\n if (!!t.editId) {\r\n oldMapCircles = t.props.mapCircles.filter((item) => { return item.id !== editGraphicId });\r\n newMapCircles = mapCircles.filter((item) => { return item.id !== editGraphicId });\r\n }\r\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapCircles, newMapCircles, 'id');\r\n let { ads, otherupds } = t.dealAdd(addedData, [...circleIds, ...circle]);\r\n let { upds, otherads } = t.dealUpdate(updatedData, [...circleIds, ...circle]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for (let id of deletedDataIDs) {\r\n t.removeGraphic(id, 'circle');\r\n }\r\n //增加\r\n t.addCircle([...ads, ...otherads]);\r\n //更新\r\n t.updateCircle([...upds, ...otherupds]);\r\n }\r\n //图元编辑调用\r\n if ((typeof (isDoEdit) == 'boolean' && isDoEdit) || (isDoEdit && isDoEdit !== t.props.isDoEdit)) {\r\n t.doEdit(editGraphicId);\r\n }\r\n // 获取热力图\r\n if (heatMapData && heatMapData.data && !t.deepEqual(heatMapData, t.props.heatMapData)) {\r\n t.heatMapOverlay(heatMapData);\r\n }else if(!t.deepEqual(heatMapData, t.props.heatMapData)){\r\n t.clearHeatMap(heatMapData);\r\n }\r\n //清空地图\r\n if ((typeof (isClearAll) == 'boolean' && isClearAll) || (isClearAll && isClearAll !== t.props.isClearAll)) {\r\n t.clearAll();\r\n }\r\n //测距工具调用\r\n if ((typeof (isRangingTool) == 'boolean' && isRangingTool) || (isRangingTool && isRangingTool !== t.props.isRangingTool)) {\r\n t.vtxRangingTool(mapRangingTool);\r\n }\r\n /*设置指定图元展示*/\r\n if ((typeof (setVisiblePoints) == 'boolean' && setVisiblePoints) || (setVisiblePoints && setVisiblePoints !== t.props.setVisiblePoints)) {\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n //设置中心点\r\n // if ((typeof (setCenter) == 'boolean' && setCenter) || (setCenter && setCenter !== t.props.setCenter)) {\r\n // if (!(t.getCurrentCenter().lng == mapCenter[0] && t.getCurrentCenter().lat == mapCenter[1])) {\r\n // t.setCenter(mapCenter);\r\n // }\r\n // }\r\n if(nextProps.mapCenter &&nextProps.mapCenter.length>0 && JSON.stringify(nextProps.mapCenter)!==JSON.stringify(this.props.mapCenter)){\r\n t.setCenter(mapCenter);\r\n }\r\n //设置点聚合\r\n if ((typeof (setCluster) == 'boolean' && setCluster) || (setCluster && setCluster !== t.props.setCluster)) {\r\n t.cluster(mapCluster);\r\n }\r\n\r\n if(!setCluster && setCluster !== t.props.setCluster){\r\n t.clearCluster(mapCluster);\r\n }\r\n //图元编辑调用\r\n if ((typeof (isDoEdit) == 'boolean' && isDoEdit) || (isDoEdit && isDoEdit !== t.props.isDoEdit)) {\r\n t.doEdit(editGraphicId);\r\n }\r\n //关闭图元编辑\r\n if ((typeof (isEndEdit) == 'boolean' && isEndEdit) || (isEndEdit && isEndEdit !== t.props.isEndEdit)) {\r\n t.endEdit();\r\n }\r\n //绘制图元\r\n if ((typeof (isDraw) == 'boolean' && isDraw) || (isDraw && isDraw !== t.props.isDraw)) {\r\n t.draw(mapDraw);\r\n }\r\n //关闭绘制\r\n if ((typeof (isCloseDraw) == 'boolean' && isCloseDraw) || (isCloseDraw && isCloseDraw !== t.props.isCloseDraw)) {\r\n t.closeDraw();\r\n }\r\n //单独删除操作\r\n if ((typeof (isRemove) == 'boolean' && isRemove) || (isRemove && isRemove !== t.props.isRemove)) {\r\n mapRemove.map((item, index) => {\r\n t.removeGraphic(item.id, item.type);\r\n });\r\n }\r\n //设置区域限制\r\n if ((typeof (isSetAreaRestriction) == 'boolean' && isSetAreaRestriction)\r\n || (isSetAreaRestriction && isSetAreaRestriction !== t.props.isSetAreaRestriction)\r\n && areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]) {\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n //关闭区域限制\r\n if ((typeof (isClearAreaRestriction) == 'boolean' && isClearAreaRestriction) || (isClearAreaRestriction && isClearAreaRestriction !== t.props.isClearAreaRestriction)) {\r\n t.clearAreaRestriction();\r\n }\r\n // 设置地图层级\r\n if((typeof(setZoomLevel) == 'boolean' && setZoomLevel) || (setZoomLevel && setZoomLevel !== t.props.setZoomLevel)){\r\n t.setZoomLevel(mapZoomLevel);\r\n }\r\n // 比例尺控件位置改变\r\n if(nextProps.showControl && JSON.stringify(nextProps.showControl)!=JSON.stringify(t.props.showControl)){\r\n t.showControl(nextProps);\r\n }\r\n // 更新需要加载的图层\r\n if(nextProps.olProps && JSON.stringify(nextProps.olProps) !== JSON.stringify(t.props.olProps)) {\r\n t.loadLayers(nextProps.olProps.olCoverage, t.props.olProps.olCoverage);\r\n }\r\n }\r\n // 地图事件\r\n //地图点击事件\r\n clickMap(e) {\r\n let t = this;\r\n if (typeof t.props.clickMap === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n obj.clickLngLat = {\r\n lng: e.coordinate ? e.coordinate[0] : undefined,\r\n lat: e.coordinate ? e.coordinate[1] : undefined,\r\n };\r\n obj.pixel = {\r\n x: e.pixel ? e.pixel[0] : undefined,\r\n y: e.pixel ? e.pixel[1] : undefined,\r\n };\r\n let temp = [];\r\n t.olLayers.map(item=>{\r\n if(item.layer){\r\n temp.push(t.getFeatureInfo(e,t.state.gis.getView(),item.layer.getSource()));\r\n }\r\n })\r\n if(temp.length){\r\n obj.features = temp;\r\n }\r\n t.props.clickMap(obj);\r\n }\r\n }\r\n // 获取geoServer要素\r\n getFeatureInfo(event, view, source) {\r\n let sourceParam = source.getParams();\r\n let url = source.getFeatureInfoUrl(event.coordinate, view.getResolution(), view.getProjection(), {\r\n cql_filter: sourceParam?.cql_filter,\r\n QUERY_LAYERS: sourceParam?.layers,\r\n INFO_FORMAT: 'application/json',\r\n REQUEST: \"GetFeatureInfo\",\r\n FEATURE_COUNT: 50,\r\n });\r\n let {param, address} = this.formatUrl(url);\r\n // let temp = param.BBOX.split(\",\");\r\n // let BBOX = [temp[1],temp[0],temp[3],temp[2]].join(\",\");\r\n // param.BBOX = BBOX;\r\n param.QUERY_LAYERS = param.LAYERS;\r\n let temp=[];\r\n for(let key in param){\r\n temp.push(`${key}=${param[key]}`);\r\n }\r\n address += `?${temp.join(\"&\")}`;\r\n const geoJsonFormat = new ol.format.GeoJSON();\r\n return fetch(address)\r\n .then(res => res.json())\r\n .then(data => {\r\n let features = [];\r\n if (data?.features?.length) {\r\n features = geoJsonFormat.readFeatures(data);\r\n features.map(item => {\r\n item.key = this?.key;\r\n });\r\n }\r\n return features;\r\n })\r\n .catch(() => {\r\n return [];\r\n });\r\n }\r\n // 要素鼠标悬浮事件\r\n mouseOverGraphic(id, e) {\r\n let t = this;\r\n if (t.state.editId == id) return false;\r\n if (typeof t.props.mouseOverGraphic === 'function') {\r\n let obj = {\r\n e,\r\n id,\r\n param: t.getGraphic(id),\r\n top: e.pixel ? e.pixel[0] : undefined, //当前点所在的位置(屏幕)\r\n left: e.pixel ? e.pixel[1] : undefined,\r\n };\r\n t.props.mouseOverGraphic(obj);\r\n }\r\n }\r\n // 要素鼠标移开事件\r\n mouseOutGraphic(id, e) {\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if (t.state.editId == id) return false;\r\n if (typeof t.props.mouseOutGraphic === 'function') {\r\n let obj = {\r\n e,\r\n id,\r\n param: t.getGraphic(id),\r\n top: e.pixel ? e.pixel[0] : undefined, //当前点所在的位置(屏幕)\r\n left: e.pixel ? e.pixel[1] : undefined,\r\n };\r\n t.props.mouseOutGraphic(obj);\r\n }\r\n }\r\n //地图拖动之前事件\r\n dragMapStart(e) {\r\n let t = this;\r\n if (typeof t.props.dragMapStart === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapStart(obj);\r\n }\r\n }\r\n //地图拖动结束后事件\r\n dragMapEnd(e) {\r\n let t = this;\r\n if (typeof t.props.dragMapEnd === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapEnd(obj);\r\n }\r\n }\r\n //热力图\r\n heatMapOverlay(d = {}) {\r\n let t = this;\r\n let cg = {\r\n radius: 20,\r\n max: 100,\r\n visible: true,\r\n opacity: 0.7,\r\n gradient: ['#00f', '#0ff', '#0f0', '#ff0', '#f00'],\r\n };\r\n if (d.config) {\r\n cg = { ...cg, ...d.config };\r\n }\r\n let gradient = [];\r\n if (cg.gradient) {\r\n for (let key in cg.gradient) {\r\n gradient.push(cg.gradient[key])\r\n }\r\n cg.gradient = gradient;\r\n }\r\n // if(d.data){\r\n // t.state.pointIds = [];\r\n // t.pointLayers.map(item => {\r\n // t.state.gis.removeLayer(item.layer);\r\n // t.pointLayers=[];\r\n // })\r\n // }\r\n const heatData = {\r\n type: 'FeatureCollection',\r\n features: (d.data || []).map(item => {\r\n return {\r\n type: 'Feature',\r\n properties: {\r\n weight: item.count ? item.count / 100 : 0.5,\r\n },\r\n geometry: {\r\n type: 'Point',\r\n coordinates: [item.lng, item.lat],\r\n }\r\n }\r\n })\r\n }\r\n let heatSource = new ol.source.Vector({\r\n features: new ol.format.GeoJSON().readFeatures(heatData)\r\n })\r\n t.heatmap = new ol.layer.Heatmap({\r\n name: 'heatmap',\r\n source: heatSource,\r\n radius: cg.radius,\r\n visible: cg.visible,\r\n blur: eval(cg.opacity) * 100,\r\n gradient: gradient,\r\n weight: (e) => {\r\n return e.getProperties().count;//根据权重展示热力图!关键点,weight范围为:0-1!!!\r\n },\r\n });\r\n t.state.gis.addLayer(t.heatmap);\r\n\r\n }\r\n clearHeatMap(){\r\n const t = this;\r\n if(t.heatmap)\r\n t.state.gis.removeLayer(t.heatmap);\r\n t.heatmap = null;\r\n t.refresh();\r\n }\r\n //地图移动之前事件\r\n moveStart(e) {\r\n let t = this;\r\n if (typeof t.props.moveStart === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveStart(obj);\r\n }\r\n }\r\n //地图移动结束后事件\r\n moveEnd(e) {\r\n let t = this;\r\n if (typeof t.props.moveEnd === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveEnd(obj);\r\n }\r\n }\r\n //地图更改缩放级别开始时触发触发此事件\r\n zoomStart(e) {\r\n let t = this;\r\n if (typeof (t.props.zoomStart) === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.zoomStart(obj);\r\n }\r\n }\r\n //地图更改缩放级别结束时触发触发此事件\r\n zoomEnd(e) {\r\n let t = this;\r\n if (typeof (t.props.zoomEnd) === 'function') {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.zoomEnd(obj);\r\n }\r\n }\r\n // 图元点击事件\r\n clickGraphic(id, e, target = {}) {\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if (t.editId == id) return false;\r\n if (typeof t.props.clickGraphic === 'function') {\r\n const [clientX, clientY] = e.pixel;\r\n let param = t.getGraphic(id, clientX, clientY);\r\n let obj = {\r\n param,\r\n info: target,\r\n type: param ? param.geometry.type : null, //图元类型\r\n attributes: param ? { ...param.attributes.other, ...{ config: param.attributes.config } } : null, //添加时图元信息\r\n top: clientY, //当前点所在的位置(屏幕)\r\n left: clientX,\r\n e: e,\r\n };\r\n t.props.clickGraphic(obj);\r\n }\r\n }\r\n componentWillUnmount() {\r\n //关闭moveTo定时\r\n let t = this;\r\n if (t.moveToTimer) {\r\n clearInterval(t.moveToTimer);\r\n }\r\n //关闭animation定时\r\n for (let j in t.animTimer) {\r\n if (t.animTimer[j]) {\r\n clearInterval(t.animTimer[j]);\r\n }\r\n }\r\n window.VtxMap && (window.VtxMap[t.state.mapId]= null);\r\n }\r\n}\r\nexport default OlMap;\r\n\r\nclass Popup extends React.Component{\r\n constructor(props){\r\n super();\r\n this.map = props.map;\r\n this.position = props.position;\r\n this.overlay = null;\r\n this.container = null;\r\n this.innerHTML = props.innerHTML;\r\n this.closeble = props.close;\r\n }\r\n \r\n // 弹出框\r\n showPopup () {\r\n const t = this;\r\n this.removePopup()\r\n // 获取弹出层DOM\r\n t.container = document.createElement(\"div\");\r\n t.container['className'] = \"ol-popup\";\r\n if(t.closeble){\r\n let close = document.createElement(\"a\");\r\n close['className'] = \"ol-popup-closer\";\r\n close.addEventListener(\"click\",(e)=>{\r\n t.removePopup();\r\n })\r\n t.container.appendChild(close);\r\n }\r\n let content = document.createElement(\"div\");\r\n t.container.appendChild(content);\r\n if (t.overlay) {\r\n } else {\r\n // 创建Overlay弹出层绑定DOM\r\n t.overlay = new ol.Overlay({\r\n element: t.container,\r\n autoPan: {\r\n animation: {\r\n duration: 250\r\n }\r\n }\r\n })\r\n // 添加到map\r\n t.map.addOverlay(t.overlay)\r\n }\r\n // 弹出层内容\r\n content.innerHTML = t.innerHTML;\r\n // 设置弹出层位置即可出现\r\n t.overlay.setPosition(t.position)\r\n }\r\n // 清除弹出框\r\n removePopup () {\r\n if (this.overlay) {\r\n this.container.remove();\r\n // 设置位置undefined可达到隐藏清除弹出框\r\n this.overlay.setPosition(undefined);\r\n this.overlay = null;\r\n }\r\n }\r\n}\r\n\r\nfunction getRgbColor(color, opacity) {\r\n const reg = /^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/;\r\n if (!reg.test(color) && typeof(color) !== 'string') {\r\n return;\r\n }\r\n let newStr = color.toLowerCase().replace(/\\#/g, '');\r\n let len = newStr.length;\r\n if (len == 3) {\r\n let t = '';\r\n for (var i = 0; i < len; i++) {\r\n t += newStr.slice(i, i + 1).concat(newStr.slice(i, i + 1));\r\n }\r\n newStr = t;\r\n }\r\n let arr = []; //将字符串分隔,两个两个的分隔\r\n for (var i = 0; i < 6; i = i + 2) {\r\n let s = newStr.slice(i, i + 2);\r\n arr.push(parseInt('0x' + s));\r\n }\r\n return 'rgba(' + arr.join(',') + ',' + opacity + ')';\r\n}\r\n\r\n// 压缩图片的方法\r\nfunction canvasDataURL(path, obj, callback) {\r\n var img = new Image();\r\n img.src = path;\r\n img.setAttribute(\"crossOrigin\", 'Anonymous')\r\n img.onload = function () {\r\n var that = this;\r\n // 默认按比例压缩\r\n var w = that.width,\r\n h = that.height,\r\n scale = w / h;\r\n w = obj.width || w;\r\n h = obj.height || (w / scale);\r\n var quality = 0.7; // 默认图片质量为0.7\r\n //生成canvas\r\n var canvas = document.createElement('canvas');\r\n var ctx = canvas.getContext('2d');\r\n // 创建属性节点\r\n var anw = document.createAttribute(\"width\");\r\n anw.nodeValue = w;\r\n var anh = document.createAttribute(\"height\");\r\n anh.nodeValue = h;\r\n canvas.setAttributeNode(anw);\r\n canvas.setAttributeNode(anh);\r\n ctx.drawImage(that, 0, 0, w, h);\r\n // 图像质量\r\n if (obj.quality && obj.quality <= 1 && obj.quality > 0) {\r\n quality = obj.quality;\r\n }\r\n // quality值越小,所绘制出的图像越模糊\r\n var base64 = canvas.toDataURL('image/png', quality);\r\n // 回调函数返回base64的值\r\n callback(base64);\r\n }\r\n}\r\n"],"mappings":"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"}
|