@vtx/map 1.2.32 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +44 -44
  2. package/lib/VtxMap/AMap/AMap.js +37 -34
  3. package/lib/VtxMap/AMap/AMap.js.map +1 -1
  4. package/lib/VtxMap/BMap/Map.js +60 -57
  5. package/lib/VtxMap/BMap/Map.js.map +1 -1
  6. package/lib/VtxMap/GMap/Map.js +36 -35
  7. package/lib/VtxMap/GMap/Map.js.map +1 -1
  8. package/lib/VtxMap/OMap/Map.js +65 -62
  9. package/lib/VtxMap/OMap/Map.js.map +1 -1
  10. package/lib/VtxMap/OMap/Map.less +70 -70
  11. package/lib/VtxMap/OlMap/Map.js +59 -54
  12. package/lib/VtxMap/OlMap/Map.js.map +1 -1
  13. package/lib/VtxMap/OlMap/Map.less +230 -230
  14. package/lib/VtxMap/TMap/TMap.js +58 -56
  15. package/lib/VtxMap/TMap/TMap.js.map +1 -1
  16. package/lib/VtxMap/index.js +0 -18
  17. package/lib/VtxMap/index.js.map +1 -1
  18. package/lib/VtxMap/optimizingPointMap.js +1 -1
  19. package/lib/VtxMap/optimizingPointMap.js.map +1 -1
  20. package/lib/VtxModal/VtxModal.css +53 -18
  21. package/lib/VtxModal/VtxModal.js +17 -13
  22. package/lib/VtxModal/VtxModal.js.map +1 -1
  23. package/lib/VtxModal/VtxModal.less +102 -52
  24. package/lib/VtxModal/style/css.js +1 -12
  25. package/lib/VtxModal/style/css.js.map +1 -1
  26. package/lib/VtxModal/style/index.js +1 -12
  27. package/lib/VtxModal/style/index.js.map +1 -1
  28. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.css +45 -63
  29. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js +35 -36
  30. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js.map +1 -1
  31. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.less +73 -68
  32. package/lib/VtxSearchCheckMap/index.js.map +1 -1
  33. package/lib/VtxSearchCheckMap/mapping.js.map +1 -1
  34. package/lib/VtxSearchCheckMap/style/css.js +2 -18
  35. package/lib/VtxSearchCheckMap/style/css.js.map +1 -1
  36. package/lib/VtxSearchCheckMap/style/index.js +2 -18
  37. package/lib/VtxSearchCheckMap/style/index.js.map +1 -1
  38. package/lib/VtxSearchMap/VtxSearchMap.css +45 -60
  39. package/lib/VtxSearchMap/VtxSearchMap.js +33 -33
  40. package/lib/VtxSearchMap/VtxSearchMap.js.map +1 -1
  41. package/lib/VtxSearchMap/VtxSearchMap.less +157 -174
  42. package/lib/VtxSearchMap/index.js.map +1 -1
  43. package/lib/VtxSearchMap/mapping.js.map +1 -1
  44. package/lib/VtxSearchMap/style/css.js +3 -25
  45. package/lib/VtxSearchMap/style/css.js.map +1 -1
  46. package/lib/VtxSearchMap/style/index.js +3 -25
  47. package/lib/VtxSearchMap/style/index.js.map +1 -1
  48. package/lib/default.js +37 -13
  49. package/lib/default.js.map +1 -1
  50. package/lib/utils/util.js.map +1 -1
  51. package/package.json +14 -12
  52. package/lib/VtxModal/VtxModalAntd3.css +0 -62
  53. package/lib/VtxModal/VtxModalAntd3.less +0 -67
  54. package/lib/VtxSearchCheckMap/VtxSearchCheckMapAntd3.css +0 -0
  55. package/lib/VtxSearchCheckMap/VtxSearchCheckMapAntd3.less +0 -1
  56. package/lib/VtxSearchMap/VtxSearchMapAntd3.css +0 -0
  57. package/lib/VtxSearchMap/VtxSearchMapAntd3.less +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TMap.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_default2","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_classCallCheck","_defineProperties","key","_createClass","prototype","_toPrimitive","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","_inherits","create","_setPrototypeOf","Set","Immutable","TMap","_React$Component","props","_this","GM","graphicManage","getPolygonArea","pointCollectionId","isNotClickMap","isZoom","mapLeft","mapTop","clusterObj","clusterMarkers","markerTool","polylineTool","polygonTool","rectangleTool","circleTool","isEditId","moveToTimer","timer","movePoints","morepoints","heatmap","animTimer","animCount","waitInit","isLoading","waitReceive","mapCreated","state","gis","mapId","pointIds","lineIds","polygonIds","circleIds","editId","editGraphic","mapZoomLevel","boundaryInfo","drawIds","point","polyline","polygon","circle","rectangle","controlStyle","frameSelectProps","loadMapJs","loadMapComplete","Promise","resolve","reject","window","T","$","getScript","concat","configUrl","mapServerURL","tmapScriptUrl","Heatmap","HeatmapNew","PointCollection","ImageOverlays","all","then","clearInterval","setInterval","Tool","init","_t$props","mapPoints","mapLines","mapPolygons","mapCircles","setVisiblePoints","mapVisiblePoints","mapCenter","mapCluster","mapPointCollection","showControl","boundaryName","areaRestriction","heatMapData","imageOverlays","coverageType","infoWindowData","createMap","setMapType","addPoint","addLine","addPolygon","addCircle","imageUrlOverlay","heatMapOverlay","infoWindow","setTimeout","addPointCollection","setZoomLevel","cluster","satelliteSwitch","showMapTypeControl","setAreaRestriction","dragMapStart","dragMapEnd","moveStart","moveEnd","zoomStart","zoomEnd","clickMap","_t$props2","mapStyle","_t$props2$mapCenter","minZoom","maxZoom","VtxMap","AnchorConstant","tr","T_ANCHOR_TOP_RIGHT","tl","T_ANCHOR_TOP_LEFT","bl","T_ANCHOR_BOTTOM_LEFT","br","T_ANCHOR_BOTTOM_RIGHT","Map","zoom","center","LngLat","setStyle","pointCollectionDiv","document","createElement","id","className","getPanes","mapPane","children","before","initPropsForUser","arr","fitView","obj","undefined","callback","frameSelect","clearFrameSelect","clearFrameSelectById","showInfoWindow","hideInfoWindow","_ref","geometryType","_ref$parameter","parameter","_ref$data","data","includes","message","warn","params","type","Math","random","color","lineColor","lineOpacity","lineWidth","pellucidity","lineType","draw","removeGraphic","TMAP_NORMAL_MAP","TMAP_HYBRID_MAP","imageAry","map","item","index","sw","ne","url","opacity","displayOnMinLevel","displayOnMaxLevel","console","swnep","LngLatBounds","ImageOverlay","addOverLay","clearAll","clear","removeMarkers","clearAllPointCollection","getOverlays","removeOverLay","setState","setCenter","gt","centerAndZoom","getZoom","sw_ne","bounds","setMaxBounds","clearAreaRestriction","ls","_t$state","getLngLats","ids","alnglat","getMoreGraphic","getType","getLngLat","getCenter","split","_t$state$gis$getViewp","getViewport","lng","lat","setViewport","getCurrentCenter","getZoomLevel","getMapExtent","mapSize","width","getSize","x","height","y","nowCenter","northEast","getBounds","getNorthEast","southWest","getSouthWest","radius","calculatePointsDistance","getLng","getLat","arg","ary","ms","label","MarkerClusterer","markers","removeCluster","options","location","offset","scaleOffset","config","scaleControl","removeControl","navigationControl","control","Control","Scale","position","addControl","navigation","Zoom","css","right","top","left","bottom","mapTypeControl","MapType","vtxRangingTool","_this2","lineTool","PolylineTool","showLabel","open","addEventListener","mapRangingTool","distance","currentDistance","lnglats","currentLnglats","getGraphic","gp","getGraphicParam","gg","p","pts","mapLayer","geometry","attributes","longitude","latitude","other","paths","rings","getRadius","_this3","psids","cg","labelContent","labelPixelX","labelPixelY","markerContentX","markerContentY","zIndex","deg","isRepetition","markerContent","markerOption","zIndexOffset","marker","icon","Icon","iconUrl","iconSize","Point","iconAnchor","Marker","Label","text","canShowLabel","labelClass","BAnimationType","pointAnimation","getElement","style","transform","clickGraphic","mouseOverGraphic","mouseOutGraphic","setGraphic","setGraphicParam","updatePoint","_this4","gc","getIcon","setZIndexOffset","isAnimation","setLngLat","setIcon","moveTo","animationDelay","autoRotation","urlleft","moveAnimation","_this5","lsids","isHidden","lineOption","weight","lineStyle","path","itm","ind","Polyline","updateLine","_this6","getColor","getOpacity","getWeight","getLineStyle","setColor","setOpacity","setLineStyle","setWeight","setLngLats","_this7","pgsids","polygonOption","fillColor","fillOpacity","Polygon","on","updatePolygon","_this8","getFillColor","getFillOpacity","setFillColor","setFillOpacity","_this9","ccsids","circleOption","Circle","updateCircle","_this0","setRadius","d","points","lngLatToContainerPoint","size","shape","VotexpointCollection","GMapLib","updatePointCollection","ds","reDraw","clearPointCollection","max","visible","HeatmapOverlay","TMapLib","initialize","option","eval","gradient","setOptions","setDataSet","isHideHeatMap","show","hide","sContent","infowindow","InfoWindow","setMinWidth","setMaxHeight","onClose","Function","content","render","setContent","openInfoWindow","closeInfoWindow","_params$width","_params$height","popupWindow","drawParam","Date","getTime","len","indexOf","splice","param","paramgcr","extData","follow","close","MarkTool","ob","target","currentLnglat","currentMarker","allMarkers","backobj","drawEnd","currentPolyline","allPolylines","lnglatAry","lngX","latX","getMaxMin","PolygonTool","_t$frameSelectProps$b","currentArea","currentPolygon","allPolygons","_extent","area","CircleTool","_t$frameSelectProps$b2","currentCenter","currentRadius","currentCircle","allCircles","PI","pow","RectangleTool","_t$frameSelectProps$b3","currentBounds","currentRectangle","allRectangles","distanceTo","closeDraw","doEdit","endEdit","enableDragging","enableEdit","disableDragging","removeEventListener","disableEdit","lastGraphic","JSON","stringify","editGraphicChange","calculateDistance","removeMarker","getLabel","removeGraphicParam","containerPoint","xylist","matchList","match","display","allParam","clickLngLat","lnglat","pixel","getIconAnchor","now","start","notation","setIconAnchor","_this1","waitTime","deleteTime","sort","nowMovePoints","deleteIndex","_nowMovePoints$_i","oleLng","oldLat","rx","ry","totalTime","ddeg","tx","ty","lglt","setIconUrl","b","delay","urlright","count","equals","rotateDeg","isHave","sp","ep","spLngLat","AMap","lngLatToLayerPoint","tan","atan","disy","bias","deepEqual","is","fromJS","lnglat1","lnglat2","round","ps","totalDistance","dataMatch","oldData","newData","onlyOldData","subtract","toJS","onlyNewData","onlyOldIDs","onlyNewIDs","updateDataIDs","intersect","updatedData","replacedData","deletedDataIDs","oldID","addedData","dealAdd","ads","otherupds","dealUpdate","upds","otherads","searchPoints","searchValue","pageSize","pageIndex","searchConfig","pageCapacity","onSearchComplete","result","pois","list","lonlat","hotPointID","localsearch","LocalSearch","search","componentDidMount","getElementById","offsetLeft","offsetTop","componentDidUpdate","prevProps","prevState","UNSAFE_componentWillReceiveProps","nextProps","receive","_t$state2","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","customizedBoundary","isOpenTrafficInfo","setCluster","isRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isclearAllPointCollection","isClearAll","isSetAreaRestriction","isClearAreaRestriction","removeStyle","_t$dataMatch","oldMapPoints","newMapPoints","_t$dataMatch2","_t$dealAdd","_t$dealUpdate","_iterator","_step","err","oldMapPolygons","newMapPolygons","_t$dataMatch3","_t$dealAdd2","_t$dealUpdate2","_iterator2","_step2","oldMapCircles","newMapCircles","_t$dataMatch4","_t$dealAdd3","_t$dealUpdate3","_iterator3","_step3","oldMapLines","newMapLines","_t$dataMatch5","_t$dealAdd4","_t$dealUpdate4","_iterator4","_step4","_t$dataMatch6","_iterator5","_step5","componentWillUnmount","j","React","Component","_default","exports","module"],"sources":["VtxMap/TMap/TMap.js"],"sourcesContent":["import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport {graphicManage,getMaxMin,getPolygonArea} from '../MapToolFunction';\r\nimport Immutable from 'immutable';\r\nconst {Set} = Immutable;\r\n//公共地址配置\r\nimport configUrl, { getTMapTK } from '../../default';\r\nclass TMap extends React.Component{\r\n constructor(props){\r\n super(props);\r\n //初始化 图元管理方法\r\n this.GM = new graphicManage();\r\n this.getPolygonArea = getPolygonArea;\r\n this.pointCollectionId = 'vtx_gmap_html_pointCollection';//海量点canvas点位容器id class管理\r\n this.isNotClickMap = false;//阻止点击事件冒泡到地图\r\n this.isZoom = false;//阻止 zoom事件后触发的移动事件\r\n this.mapLeft = 0;//地图offset的Left值\r\n this.mapTop = 0;//地图offset的Top值\r\n this.clusterObj = null;//聚合对象\r\n this.clusterMarkers = null;//聚合的点集合\r\n this.markerTool = null;//绘制点对象\r\n this.polylineTool = null;//绘制线对象\r\n this.polygonTool = null;//绘制面对象\r\n this.rectangleTool = null;//绘制矩形对象\r\n this.circleTool = null;//绘制圆对象\r\n this.isEditId = null;//记录当前编辑的id,过滤移入移出事件\r\n this.moveToTimer = null;//moveTo时间对象\r\n this.timer = 10; //动画播放频率\r\n this.movePoints = [];//move点的对象集合\r\n this.morepoints = [];//海量点集合\r\n this.heatmap = null;//热力图对象\r\n this.animTimer = {};//点位跳动动画\r\n this.animCount = {};//点位跳动动画 位置记录\r\n this.waitInit = null; //等加载定时\r\n this.isLoading = false; //是否加载完\r\n this.waitReceive = null;//等初始化,更新定时\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 editId: '',//当前编辑的图元id\r\n editGraphic: '',//当前编辑完后图元所有数据\r\n // center: props.mapCenter,\r\n mapZoomLevel: props.mapZoomLevel,\r\n boundaryInfo: [],//当前画出的边界线的id和区域名\r\n drawIds: {//绘制工具id集合\r\n point: [],\r\n polyline: [],\r\n polygon: [],\r\n circle: [],\r\n rectangle: []\r\n },\r\n controlStyle: 'lt'\r\n }\r\n this.frameSelectProps = {};\r\n this.loadMapJs();\r\n }\r\n loadMapJs(){\r\n let t = this; \r\n this.loadMapComplete = new Promise((resolve,reject)=>{\r\n if(window.T){\r\n resolve(window.T);\r\n }\r\n else{\r\n $.getScript(`${configUrl.mapServerURL}/T_content.js`,()=>{\r\n $.getScript(configUrl.tmapScriptUrl, ()=>{\r\n let Heatmap = new Promise((resolve,reject)=>{\r\n //对象问题 和arcgis使用不同的热力图\r\n $.getScript(`${configUrl.mapServerURL}/Theatmap.js`,()=>{\r\n resolve();\r\n });\r\n });\r\n let HeatmapNew = new Promise((resolve,reject)=>{\r\n //新版的热力图--老的暂不废弃,但是有问题\r\n $.getScript(`${configUrl.mapServerURL}/HeatmapOverlay.js`,()=>{\r\n resolve();\r\n });\r\n });\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 ImageOverlays = new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TImageOverlay.js`,()=>{\r\n resolve();\r\n });\r\n });\r\n // let components = new Promise((resolve,reject)=>{\r\n // $.getScript(`${configUrl.mapServerURL}/T_toolComponents.js`,()=>{\r\n // resolve();\r\n // })\r\n // });\r\n Promise.all([Heatmap,PointCollection,ImageOverlays,HeatmapNew/*,components*/]).then(()=>{\r\n if(t.waitInit){\r\n clearInterval(t.waitInit);\r\n }\r\n t.waitInit = setInterval(()=>{\r\n if(T.Tool){\r\n clearInterval(t.waitInit);\r\n resolve(window.T);\r\n }\r\n },50)\r\n })\r\n })\r\n })\r\n }\r\n });\r\n }\r\n init(){\r\n let t = this;\r\n const {\r\n mapPoints,mapLines,mapPolygons,mapCircles,\r\n setVisiblePoints,mapVisiblePoints,\r\n mapCenter,mapZoomLevel,\r\n mapCluster,mapPointCollection,\r\n showControl,boundaryName,\r\n areaRestriction,heatMapData,\r\n imageOverlays,coverageType,\r\n infoWindowData\r\n } = t.props;\r\n //创建地图\r\n t.createMap();\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType){\r\n t.setMapType(coverageType);\r\n }\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(imageOverlays instanceof Array){\r\n t.imageUrlOverlay(imageOverlays);\r\n }\r\n /*设置指定图元展示*/\r\n if(mapVisiblePoints){\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n // 画热力图\r\n if(heatMapData){\r\n t.heatMapOverlay(heatMapData);\r\n }\r\n // 打开信息窗体\r\n if(infoWindowData){\r\n t.infoWindow(infoWindowData);\r\n }\r\n //添加海量点\r\n if(mapPointCollection instanceof Array){\r\n setTimeout(()=>{\r\n t.addPointCollection(mapPointCollection);\r\n },100)\r\n }\r\n //设置比例尺\r\n if(mapZoomLevel){\r\n t.setZoomLevel(mapZoomLevel);\r\n }\r\n //设置点聚合\r\n if(mapCluster){\r\n t.cluster(mapCluster);\r\n }\r\n // //展示比例尺\r\n if(showControl){\r\n t.showControl();\r\n }\r\n //添加地图类型控件\r\n if(t.props.satelliteSwitch){\r\n t.showMapTypeControl();\r\n }\r\n // //画边界线\r\n // if(boundaryName instanceof Array && boundaryName.length>0){\r\n // t.addBaiduBoundary(boundaryName);\r\n // }\r\n\r\n //设置区域限制\r\n if(areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n //初始化地图拖拽开始事件\r\n t.dragMapStart();\r\n //初始化地图拖拽结束事件\r\n t.dragMapEnd();\r\n //初始化地图移动开始事件\r\n t.moveStart();\r\n //初始化地图移动结束事件\r\n t.moveEnd();\r\n //初始化地图zoom改变开始事件\r\n t.zoomStart();\r\n //初始化地图zoom改变结束事件\r\n t.zoomEnd();\r\n //初始化地图点击事件\r\n t.clickMap();\r\n this.mapCreated = true;\r\n }\r\n createMap(){\r\n let t = this;\r\n const {mapStyle,mapCenter=[],mapId,mapZoomLevel,minZoom,maxZoom} = t.props;\r\n if(!window.VtxMap){\r\n window.VtxMap = {};\r\n }\r\n // 控件位置常量\r\n t.AnchorConstant = {\r\n tr: T_ANCHOR_TOP_RIGHT,\r\n tl: T_ANCHOR_TOP_LEFT,\r\n bl: T_ANCHOR_BOTTOM_LEFT,\r\n br: T_ANCHOR_BOTTOM_RIGHT\r\n }\r\n window.VtxMap[mapId] = t.state.gis = new T.Map(mapId.toString(),{\r\n //zoom等级,和百度一样默认10\r\n zoom: mapZoomLevel || 10,\r\n //必须有中心点,不传默认在北京(不设置中心点,报错)\r\n center: mapCenter?new T.LngLat(mapCenter[0] || 116.40769, mapCenter[1] || 39.906705)\r\n :new T.LngLat(116.40769, 39.89945),\r\n minZoom: minZoom || 1,\r\n maxZoom: maxZoom || 18\r\n });\r\n if(mapStyle){\r\n t.state.gis.setStyle(mapStyle);\r\n }\r\n //海量点图元容器\r\n t.pointCollectionId = `${mapId}_${t.pointCollectionId}`;\r\n let pointCollectionDiv = document.createElement('div');\r\n pointCollectionDiv.id = t.pointCollectionId;\r\n pointCollectionDiv.class = 'vtx_gmap_html_pointCollection_t';\r\n pointCollectionDiv.className = 'vtx_gmap_html_pointCollection_t';\r\n $(t.state.gis.getPanes().mapPane.children[0]).before(pointCollectionDiv);\r\n t.initPropsForUser();\r\n }\r\n // 初始化对外方法\r\n initPropsForUser(){\r\n const t = this;\r\n t.state.gis[\"fitView\"] = (arr) => {\r\n t.fitView(arr);\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[\"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 }\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||'red';\r\n params.lineColor = parameter.lineColor||'red';\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 setMapType(type){\r\n switch (type) {\r\n case 'sl':\r\n this.state.gis.setMapType(TMAP_NORMAL_MAP);\r\n break;\r\n case 'wx':\r\n this.state.gis.setMapType(TMAP_HYBRID_MAP);\r\n break;\r\n }\r\n }\r\n //增加图片图层\r\n imageUrlOverlay(imageAry){\r\n let t = this;\r\n imageAry.map((item,index)=>{\r\n let {sw,ne,url,opacity,displayOnMinLevel,displayOnMaxLevel} = item;\r\n if(!url){\r\n console.warn(`图片图层url数据错误`);\r\n return false;\r\n }\r\n if(sw && ne && Array.isArray(sw) && Array.isArray(ne) && sw[0] && sw[1] && ne[0] && ne[1]){\r\n let swnep = new T.LngLatBounds(\r\n new T.LngLat(sw[0],sw[1]),\r\n new T.LngLat(ne[0],ne[1])\r\n ),\r\n imageUrlOverlay = new T.ImageOverlay(\r\n url,\r\n swnep,\r\n {\r\n minZoom: displayOnMinLevel || 3,\r\n maxZoom: displayOnMaxLevel || 18\r\n }\r\n );\r\n t.state.gis.addOverLay(imageUrlOverlay);\r\n }else{\r\n console.warn(`区域经纬度sw/ne数据错误`);\r\n return false;\r\n }\r\n })\r\n }\r\n //清空地图所有图元\r\n clearAll (){\r\n let t = this;\r\n //清空热力图\r\n if(t.heatmap){\r\n t.heatmap.clear();\r\n }\r\n t.heatmap = null;\r\n //先清除所有标记\r\n if(t.clusterMarkers){\r\n t.clusterObj.removeMarkers(t.clusterMarkers);\r\n }\r\n t.clearAllPointCollection();\r\n //清空点\r\n t.state.gis.getOverlays().map((item,index)=>{\r\n t.state.gis.removeOverLay(item);\r\n })\r\n //清空缓存数据\r\n t.GM.clearAll();\r\n //清空历史数据记录\r\n t.setState({\r\n pointIds: [],\r\n lineIds: [],\r\n polygonIds: [],\r\n circleIds: [],\r\n boundaryInfo: [],\r\n drawIds: {\r\n point: [],\r\n polyline: [],\r\n polygon: [],\r\n circle: [],\r\n rectangle: []\r\n }\r\n });\r\n }\r\n /*set方法*/\r\n //设置地图中心位置 lng/经度 lat/纬度\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 t.state.gis.centerAndZoom(new T.LngLat(gt[0], gt[1]),t.state.gis.getZoom());\r\n }else{\r\n t.state.gis.centerAndZoom(new T.LngLat(116.400433, 39.906705),t.state.gis.getZoom());\r\n }\r\n }\r\n /*地图区域限制*/\r\n setAreaRestriction(sw_ne){\r\n let t =this;\r\n let bounds = new T.LngLatBounds(new T.LngLat(sw_ne[0][0],sw_ne[0][1]),new T.LngLat(sw_ne[1][0],sw_ne[1][1]))\r\n t.state.gis.setMaxBounds(bounds);\r\n }\r\n clearAreaRestriction(){\r\n this.state.gis.setMaxBounds(null);\r\n }\r\n //设置指定图元展示 高德只有zoom和center全适应,单适应暂时无法实现\r\n setVisiblePoints(obj){\r\n let t = this;\r\n let ls = [];\r\n let {pointIds,lineIds,polygonIds,circleIds} = t.state;\r\n let getLngLats = (ids)=>{\r\n let alnglat = [];\r\n t.GM.getMoreGraphic(ids).map((item,index)=>{\r\n //根据天地图 覆盖物类型获取lnglat\r\n switch(item?.getType()){\r\n case 1:\r\n case 2:\r\n alnglat.push(item.getLngLat());\r\n break;\r\n case 4:\r\n alnglat.push(...item.getLngLats());\r\n break;\r\n case 5://多边形 返回的是 三维数组\r\n alnglat.push(...item.getLngLats()[0]);\r\n break;\r\n case 8:\r\n alnglat.push(item.getCenter());\r\n break;\r\n }\r\n });\r\n return alnglat;\r\n }\r\n //算出 要展示的图元点位\r\n switch(obj.fitView){\r\n case 'point':\r\n ls = getLngLats(pointIds);\r\n break;\r\n case 'line':\r\n ls = getLngLats(lineIds);\r\n break;\r\n case 'polygon':\r\n ls = getLngLats(polygonIds);\r\n break;\r\n case 'circle':\r\n ls = getLngLats(circleIds);\r\n break;\r\n case 'all':\r\n ls = getLngLats([...pointIds,...lineIds,...polygonIds,...circleIds]);\r\n break;\r\n default:\r\n let ids = [];\r\n if(obj.fitView instanceof Array){\r\n ids = obj.fitView;\r\n }else if(typeof(obj.fitView) === 'string'){\r\n ids = obj.fitView.split(',');\r\n }\r\n if(ids[0] instanceof Array){\r\n ls = ids.map((item)=>{\r\n return new T.LngLat(item[0],item[1]);\r\n })\r\n }else{\r\n ls = getLngLats(ids);\r\n }\r\n break;\r\n }\r\n if(ls.length >= 1){\r\n let {center, zoom} = (t.state.gis.getViewport(ls));\r\n if(obj.type == 'zoom'){\r\n t.setZoomLevel(zoom);\r\n }else if(obj.type == 'center'){\r\n t.setCenter([center.lng,center.lat]);\r\n } else {\r\n t.state.gis.centerAndZoom(center, zoom);\r\n }\r\n }\r\n }\r\n\r\n // 设置最佳视野\r\n fitView(arr=[]){\r\n const t= this;\r\n if(arr?.length >0){\r\n t.state.gis.setViewport(arr.map(item=>new T.LngLat(item[0],item[1])));\r\n }\r\n }\r\n\r\n //设置地图比例尺\r\n setZoomLevel (zoom) {\r\n let t =this;\r\n t.state.gis.centerAndZoom(t.state.gis.getCenter(),zoom);\r\n }\r\n //获取当前地图的中心位置\r\n getCurrentCenter(){\r\n let t =this;\r\n return {\r\n lat: t.state.gis.getCenter().lat,\r\n lng: t.state.gis.getCenter().lng\r\n };\r\n }\r\n //获取当前比例尺\r\n getZoomLevel (){\r\n let t = this;\r\n return t.state.gis.getZoom();\r\n }\r\n //获取当前地图边框左右边角经纬度,中心点位置,和比例尺,半径距离\r\n getMapExtent(){\r\n let t =this;\r\n let {gis} = t.state;\r\n let obj = {\r\n mapSize: {width:gis.getSize().x,height:gis.getSize().y},\r\n nowCenter: t.getCurrentCenter(),\r\n northEast: {\r\n lat: gis.getBounds().getNorthEast().lat,\r\n lng: gis.getBounds().getNorthEast().lng\r\n },\r\n southWest: {\r\n lat: gis.getBounds().getSouthWest().lat,\r\n lng: gis.getBounds().getSouthWest().lng\r\n },\r\n zoom: t.getZoomLevel()\r\n }\r\n obj.radius = t.calculatePointsDistance([obj.nowCenter.lng,obj.nowCenter.lat],[\r\n gis.getBounds().getNorthEast().getLng(),gis.getBounds().getNorthEast().getLat()]);\r\n return obj;\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 let ms = this.GM.getMoreGraphic(ary).filter((item,index)=>{\r\n // return !item && item != 0 ? false : true;\r\n return item && item.getType() === 2 && !item.label;\r\n });\r\n //聚合的对象,便于后期清除时调用\r\n this.clusterObj = new T.MarkerClusterer(t.state.gis, {markers: ms});\r\n //记录聚合的点,便于后期清除\r\n this.clusterMarkers = ms;\r\n }\r\n // 清除聚合\r\n removeCluster (arg){\r\n let t = this;\r\n let ids = (arg && arg?.length>0) ? arg : t.state.pointIds;\r\n t.clusterObj.removeMarkers(t.clusterObj.options.markers)\r\n ids.map(id=>{\r\n t.GM.removeGraphic(id);\r\n })\r\n // 重新加点\r\n t.addPoint(t.props.mapPoints);\r\n }\r\n //设置比例尺\r\n showControl(props){\r\n let t = this,location = t.AnchorConstant['tr'],offset=null, scaleOffset=null;\r\n let config = props || t.props;\r\n if(t.scaleControl) {\r\n t.state.gis.removeControl(t.scaleControl);\r\n }\r\n if(t.navigationControl) {\r\n t.state.gis.removeControl(t.navigationControl);\r\n }\r\n if(config.showControl.location){\r\n location = t.AnchorConstant[config.showControl.location];\r\n }\r\n // 添加比例尺\r\n let control = new T.Control.Scale({position: location, offset: scaleOffset});\r\n t.state.gis.addControl(control);\r\n t.scaleControl = control;\r\n // 缩放地图\r\n let navigation = new T.Control.Zoom({position: location, offset}); \r\n t.state.gis.addControl(navigation);\r\n t.navigationControl = navigation\r\n\r\n // TODO不支持偏移,手动偏移\r\n if (config.showControl.offset && config.showControl.offset.length > 0) {\r\n if (location == \"topright\") {\r\n $('div.tdt-top.tdt-right').css({ right: config.showControl.offset[0], top: config.showControl.offset[1] })\r\n } else if (location == \"topleft\") {\r\n $('div.tdt-top.tdt-left').css({ left: config.showControl.offset[0], top: config.showControl.offset[1] })\r\n } else if (location == \"bottomleft\") {\r\n $('div.tdt-bottom.tdt-left').css({ left: config.showControl.offset[0], bottom: config.showControl.offset[1] })\r\n } else if (location == \"bottomright\") {\r\n $('div.tdt-bottom.tdt-right').css({ right: config.showControl.offset[0], bottom: config.showControl.offset[1] })\r\n }\r\n }\r\n }\r\n\r\n // 移除比例尺\r\n removeControl() {\r\n const t = this;\r\n if(t.scaleControl) {\r\n t.state.gis.removeControl(t.scaleControl);\r\n t.scaleControl = null;\r\n }\r\n if(t.navigationControl) {\r\n t.state.gis.removeControl(t.navigationControl);\r\n t.navigationControl = null;\r\n }\r\n }\r\n\r\n //展示地图切换控件\r\n showMapTypeControl (props){\r\n let t = this,location = t.AnchorConstant['br'],offset=null;\r\n let config = props || t.props;\r\n if(t.mapTypeControl) {\r\n t.state.gis.removeControl(t.mapTypeControl);\r\n }\r\n if(config.satelliteSwitch.location){\r\n location = t.AnchorConstant[config.satelliteSwitch.location];\r\n }\r\n // 地图切换控件\r\n let control = new T.Control.MapType({position: location, offset: offset});\r\n t.state.gis.addControl(control);\r\n t.mapTypeControl = control;\r\n\r\n // TODO不支持偏移,手动偏移\r\n if (config.satelliteSwitch.offset && config.satelliteSwitch.offset.length > 0) {\r\n if (location == \"topright\") {\r\n $('div.tdt-top.tdt-right').css({ right: config.satelliteSwitch.offset[0], top: config.satelliteSwitch.offset[1] })\r\n } else if (location == \"topleft\") {\r\n $('div.tdt-top.tdt-left').css({ left: config.satelliteSwitch.offset[0], top: config.satelliteSwitch.offset[1] })\r\n } else if (location == \"bottomleft\") {\r\n $('div.tdt-bottom.tdt-left').css({ left: config.satelliteSwitch.offset[0], bottom: config.satelliteSwitch.offset[1] })\r\n } else if (location == \"bottomright\") {\r\n $('div.tdt-bottom.tdt-right').css({ right: config.satelliteSwitch.offset[0], bottom: config.satelliteSwitch.offset[1] })\r\n }\r\n }\r\n }\r\n //测距\r\n vtxRangingTool () {\r\n let t = this;\r\n //将map对象放到全局中.是因为天地图api中使用了全局map.(坑B)\r\n window.map = t.state.gis;\r\n //创建标注工具对象\r\n let lineTool = new T.PolylineTool(t.state.gis,{showLabel: true});\r\n lineTool.open();\r\n this.isNotClickMap = true;\r\n //监听每次点击事件,阻止地图点击事件冒泡\r\n lineTool.addEventListener('addpoint',()=>{\r\n this.isNotClickMap = true;\r\n })\r\n lineTool.addEventListener('draw',(obj)=>{\r\n if('mapRangingTool' in t.props){\r\n t.props.mapRangingTool({\r\n distance: obj.currentDistance,\r\n lnglats: obj.currentLnglats.map((item,index)=>{\r\n return [item.lng,item.lat];\r\n })\r\n });\r\n }\r\n })\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 = {},pts = [],lng = 0,lat = 0;\r\n switch(gp.geometryType){\r\n case 'point':\r\n lng = gg.getLngLat().getLng();\r\n lat = gg.getLngLat().getLat();\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 = gg.getLngLats().map((item,index)=>{\r\n return [item.lng,item.lat]\r\n });\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 = gg.getLngLats()[0].map((item,index)=>{\r\n return [item.lng,item.lat]\r\n });\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 }\r\n break;\r\n case 'circle':\r\n lng = gg.getCenter().getLng();\r\n lat = gg.getCenter().getLat();\r\n let radius = gg.getRadius();\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 //添加点\r\n addPoint(mapPoints,type){\r\n let t = this;\r\n let psids = [...t.state.pointIds];\r\n mapPoints.map((item,index)=>{\r\n let cg = {\r\n width: 33,\r\n height: 33,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 33,\r\n markerContentX: -16.5,\r\n markerContentY: -33,\r\n zIndex: 100,\r\n deg: 0\r\n }\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 if(item.markerContent){\r\n cg = {...cg,markerContentX: 0,markerContentY: 0,width:100,height:30};\r\n }\r\n //初始化默认数据\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //覆盖物参数\r\n let markerOption = {\r\n zIndexOffset: cg.zIndex,\r\n opacity: 1\r\n }\r\n let marker = null;\r\n //判断html还是图片\r\n if(!!item.markerContent){\r\n markerOption.icon = new T.Icon({\r\n iconUrl: item.url || `${configUrl.mapServerURL}/images/touming.png`,\r\n iconSize: new T.Point(cg.width,cg.height),\r\n iconAnchor: new T.Point(-cg.markerContentX,-cg.markerContentY)\r\n });\r\n if(cg.zIndex !== undefined || cg.zIndex !== null){\r\n markerOption.zIndexOffset = cg.zIndex;\r\n }\r\n //获得覆盖物对象\r\n marker = new T.Marker(new T.LngLat(item.longitude,item.latitude),markerOption);\r\n t.state.gis.addOverLay(marker);\r\n //-12,+15测试的阈值\r\n marker.label = new T.Label({\r\n text: item.markerContent,\r\n offset: new T.Point(cg.markerContentX-12,cg.markerContentY+15)\r\n });\r\n marker.showLabel();\r\n //统一加点\r\n }else{\r\n markerOption.icon = new T.Icon({\r\n iconUrl: item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n iconSize: new T.Point(cg.width,cg.height),\r\n iconAnchor: new T.Point(-cg.markerContentX,-cg.markerContentY)\r\n });\r\n if(cg.zIndex !== undefined || cg.zIndex !== null){\r\n markerOption.zIndexOffset = cg.zIndex;\r\n }\r\n //获得覆盖物对象\r\n marker = new T.Marker(new T.LngLat(item.longitude,item.latitude),markerOption);\r\n //添加点击事件\r\n //统一加点\r\n t.state.gis.addOverLay(marker);\r\n //是否展示label\r\n if(item.canShowLabel){\r\n let labelClass = item.labelClass || 'label-content';\r\n marker.label = new T.Label({\r\n text: `<div class='${labelClass}'>${cg.labelContent}</div>`,\r\n offset: new T.Point((cg.labelPixelX - (cg.width/2)),cg.labelPixelY + (cg.markerContentY + cg.height/2))\r\n })\r\n marker.showLabel();\r\n }\r\n }\r\n //点跳动动画\r\n if(!item.markerContent && cg.BAnimationType == 0){\r\n t.pointAnimation(item.id,marker);\r\n }else{\r\n t.pointAnimation(item.id,null);\r\n }\r\n if(cg.deg){\r\n marker.getElement().style.transform = marker.getElement().style.transform + ` rotate(${cg.deg}deg)`;\r\n marker.getElement().style['-ms-transform'] = ` rotate(${cg.deg}deg)`;\r\n }\r\n marker.addEventListener( 'click', (e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n marker.addEventListener( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n marker.addEventListener( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n psids.push(item.id);\r\n //缓存图元的数据,偏于后期操作\r\n this.GM.setGraphic(\r\n item.id,marker\r\n ).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: item.longitude,\r\n y: item.latitude\r\n },\r\n deg: cg.deg\r\n }\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 mapPoints.map((item,index)=>{\r\n //判断图元是否存在.\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 //获取原有的图元\r\n let gc = this.GM.getGraphic(item.id);\r\n let cg = null;\r\n if(!!item.markerContent){\r\n cg = {\r\n markerContentX: (item.config || {}).markerContentX || gc.getIcon().options.iconSize.x,\r\n markerContentY: (item.config || {}).markerContentY || gc.getIcon().options.iconSize.y,\r\n //暂时不设置旋转角度,后期维护设置吧\r\n // deg: item.config.deg,\r\n zIndex: (item.config || {}).zIndex || gc.options.zIndexOffset\r\n };\r\n //设置点的标记添加顺序\r\n // gc.setZindex(cg.zIndex);\r\n gc.setZIndexOffset(cg.zIndex);\r\n if(!(item.config || {}).isAnimation){\r\n //修改经纬度\r\n gc.setLngLat(new T.LngLat(item.longitude,item.latitude));\r\n }\r\n if(gc.label){\r\n this.state.gis.removeOverLay(gc.label);\r\n }\r\n gc.label = new T.Label({\r\n text: item.markerContent,\r\n offset: new T.Point(cg.markerContentX-12,cg.markerContentY+15)\r\n });\r\n gc.showLabel();\r\n }else{\r\n cg = {\r\n width: (item.config || {}).width || 33,\r\n height: (item.config || {}).height || 33,\r\n markerContentX: (item.config || {}).markerContentX || -16.5,\r\n markerContentY: (item.config || {}).markerContentY || -33,\r\n //暂时不设置旋转角度,后期维护设置吧\r\n deg: (item.config || {}).deg,\r\n zIndex: (item.config || {}).zIndex || 100,\r\n labelClass: (item.config || {}).labelContent || 'label-content',\r\n labelContent: '',\r\n BAnimationType: (item.config || {}).BAnimationType,\r\n labelPixelX: 0,\r\n labelPixelY: 33,\r\n };\r\n gc.setIcon(new T.Icon({\r\n iconUrl: item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n iconSize: new T.Point(cg.width,cg.height),\r\n iconAnchor: new T.Point(-cg.markerContentX,-cg.markerContentY)\r\n }));\r\n if(!(item.config || {}).isAnimation){\r\n //修改经纬度\r\n gc.setLngLat(new T.LngLat(item.longitude,item.latitude));\r\n }\r\n //是否展示label\r\n if(item.canShowLabel){\r\n if(gc.label){\r\n this.state.gis.removeOverLay(gc.label);\r\n }\r\n // cg.labelPixelX= (item.config || {}).labelPixelX?(item.config || {}).labelPixelX - (cg.width/2):gc.getLabel().options.offset.x;\r\n // cg.labelPixelY= (item.config || {}).labelPixelY?(item.config || {}).labelPixelY + (cg.markerContentY + cg.height/2):gc.getLabel().options.offset.y;\r\n // cg.labelContent= (item.config || {}).labelContent || gc.getLabel().options.text;\r\n cg.labelPixelX= (item.config || {}).labelPixelX?(item.config || {}).labelPixelX - (cg.width/2):cg.labelPixelX - cg.width/2;\r\n cg.labelPixelY= (item.config || {}).labelPixelY?(item.config || {}).labelPixelY + (cg.markerContentY + cg.height/2):cg.labelPixelY + (cg.markerContentY + cg.height/2);\r\n cg.labelContent= (item.config || {}).labelContent || '';\r\n let labelClass = item.labelClass || 'label-content';\r\n //更新label\r\n gc.label = new T.Label({\r\n text: `<div class='${labelClass}'>${cg.labelContent}</div>`,\r\n offset: new T.Point(cg.labelPixelX,cg.labelPixelY)\r\n })\r\n gc.showLabel();\r\n }\r\n //设置点的标记添加顺序\r\n gc.setZIndexOffset(cg.zIndex);\r\n }\r\n //点跳动动画\r\n if(!item.markerContent && cg.BAnimationType == 0){\r\n t.pointAnimation(item.id,gc);\r\n }else{\r\n t.pointAnimation(item.id,null);\r\n }\r\n if(cg.deg){\r\n gc.getElement().style.transform = gc.getElement().style.transform + ` rotate(${cg.deg}deg)`;\r\n gc.getElement().style['-ms-transform'] = ` rotate(${cg.deg}deg)`;\r\n }\r\n //动画效果会延迟执行经纬度的切换\r\n if((item.config || {}).isAnimation){\r\n t.moveTo(item.id,[item.longitude,item.latitude],(item.config || {}).animationDelay,(item.config || {}).autoRotation,item.url,item.urlleft);\r\n }\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: item.longitude,\r\n y: item.latitude\r\n },\r\n deg: cg.deg || 0\r\n }\r\n );\r\n }else{\r\n console.warn(`更新的点id不存在!`);\r\n return false;\r\n }\r\n });\r\n t.moveAnimation();\r\n }\r\n //添加线\r\n addLine(mapLines,type){\r\n let t = this;\r\n let lsids = [...t.state.lineIds];\r\n //遍历添加线(图元)\r\n mapLines.map((item,index)=>{\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 //如果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 if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let lineOption = {\r\n color: cg.color,\r\n opacity: cg.pellucidity,\r\n weight: cg.lineWidth,\r\n lineStyle: cg.lineType,\r\n path: item.paths || [],\r\n }\r\n //天地图没有hidden方法,所以用weight为0来实现\r\n if(cg.isHidden){\r\n lineOption.weight = 0;\r\n }\r\n let p = lineOption.path.map((itm,ind)=>{\r\n return new T.LngLat(itm[0],itm[1]);\r\n });\r\n let polyline = new T.Polyline(p,lineOption);\r\n t.state.gis.addOverLay(polyline);\r\n // 添加点击事件\r\n polyline.addEventListener( 'click', (e)=>{\r\n t.isNotClickMap = true;\r\n t.clickGraphic(item.id,e);\r\n });\r\n polyline.addEventListener( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n polyline.addEventListener( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存图元的数据,便于后期操作\r\n let pts = item.paths.map((itm,ind)=>{\r\n return [...itm];\r\n });\r\n this.GM.setGraphic(item.id,polyline).setGraphicParam(\r\n item.id,\r\n {\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 }\r\n );\r\n lsids.push(item.id);\r\n //state中缓存 line的id...用于数据判断\r\n t.state.lineIds.push(item.id);\r\n });\r\n if(type !== 'defined'){\r\n t.state.lineIds = lsids;\r\n // t.setState({\r\n // lineIds: lsids\r\n // });\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 gc = this.GM.getGraphic(item.id);\r\n //获取原有的线属性,转换key值\r\n let cg = {\r\n color: gc.getColor(),\r\n pellucidity: gc.getOpacity(),\r\n lineWidth: gc.getWeight(),\r\n lineType: gc.getLineStyle()\r\n };\r\n //重新初始化值\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //更新线\r\n gc.setColor(cg.color);\r\n gc.setOpacity(cg.pellucidity);\r\n gc.setLineStyle(cg.lineType);\r\n //根据参数判断是否显示多折线\r\n gc.setWeight(cg.lineWidth || 5);\r\n if(item.config && item.config.isHidden){\r\n gc.setWeight(0);\r\n }\r\n //更新经纬度\r\n let p = item.paths.map((itm,ind)=>{\r\n return new T.LngLat(itm[0],itm[1]);\r\n });\r\n gc.setLngLats(p);\r\n //处理数据 用于其他事件返回\r\n let pts = item.paths.map((itm,ind)=>{\r\n return [...itm];\r\n });\r\n this.GM.setGraphicParam(\r\n item.id,\r\n {\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 }\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 pgsids = [...t.state.polygonIds];\r\n //遍历添加面(图元)\r\n mapPolygons.map((item,index)=>{\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 //如果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 if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let polygonOption = {\r\n color: cg.lineColor,\r\n opacity: cg.lineOpacity,\r\n weight: cg.lineWidth,\r\n lineStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity,\r\n path: item.rings || []\r\n }\r\n let r = polygonOption.path.map((itm,ind)=>{\r\n return new T.LngLat(itm[0],itm[1]);\r\n });\r\n let polygon = new T.Polygon(r,polygonOption);\r\n this.state.gis.addOverLay(polygon);\r\n //添加点击事件\r\n polygon.on( 'click', (e)=>{\r\n t.isNotClickMap = true;\r\n t.clickGraphic(item.id,e);\r\n });\r\n polygon.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n polygon.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存图元的数据,便于后期操作\r\n let pts = item.rings.map((itm,ind)=>{\r\n return [...itm];\r\n });\r\n this.GM.setGraphic(item.id,polygon).setGraphicParam(\r\n item.id,\r\n {\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 }\r\n );\r\n pgsids.push(item.id);\r\n\r\n });\r\n t.state.polygonIds = pgsids;\r\n // t.setState({\r\n // polygonIds: pgsids\r\n // })\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 //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: gc.getLineStyle(),\r\n lineWidth: gc.getWeight(),\r\n lineColor: gc.getColor(),\r\n lineOpacity: gc.getOpacity(),\r\n color: gc.getFillColor(),\r\n pellucidity: gc.getFillOpacity()\r\n }\r\n //重新初始化值\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n gc.setLineStyle(cg.lineType);\r\n gc.setWeight(cg.lineWidth);\r\n gc.setColor(cg.lineColor);\r\n gc.setOpacity(cg.lineOpacity);\r\n gc.setFillColor(cg.color);\r\n gc.setFillOpacity(cg.pellucidity);\r\n let r = item.rings.map((itm,ind)=>{\r\n return new T.LngLat(itm[0],itm[1]);\r\n })\r\n gc.setLngLats(r);\r\n let pts = item.rings.map((itm,ind)=>{\r\n return [...itm];\r\n });\r\n this.GM.setGraphicParam(\r\n item.id,\r\n {\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 }\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){\r\n let t = this;\r\n let ccsids = [...t.state.circleIds];\r\n mapCircles.map((item,index)=>{\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 //如果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 if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //初始化配置数据\r\n let circleOption = {\r\n color: cg.lineColor,\r\n opacity: cg.lineOpacity,\r\n weight: cg.lineWidth,\r\n lineStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity\r\n }\r\n //创建圆对象\r\n let circle = new T.Circle(new T.LngLat(item.longitude,item.latitude),item.radius,circleOption);\r\n this.state.gis.addOverLay(circle);\r\n //添加点击事件\r\n circle.on( 'click', (e)=>{\r\n t.isNotClickMap = true;\r\n t.clickGraphic(item.id,e);\r\n });\r\n circle.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n circle.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存图元的数据,便于后期操作\r\n this.GM.setGraphic(item.id,circle).setGraphicParam(\r\n item.id,\r\n {\r\n attributes: {...item,other: item},\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: item.longitude,\r\n y: item.latitude,\r\n radius: item.radius\r\n }\r\n }\r\n );\r\n ccsids.push(item.id);\r\n });\r\n t.state.circleIds = ccsids;\r\n // t.setState({\r\n // 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 (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 //获取原有的图元\r\n let gc = this.GM.getGraphic(item.id);\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: gc.getLineStyle(),\r\n lineWidth: gc.getWeight(),\r\n lineColor: gc.getColor(),\r\n lineOpacity: gc.getOpacity(),\r\n color: gc.getFillColor(),\r\n pellucidity: gc.getFillOpacity()\r\n }\r\n //重新初始化值\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n gc.setLineStyle(cg.lineType);\r\n gc.setWeight(cg.lineWidth);\r\n gc.setColor(cg.lineColor);\r\n gc.setOpacity(cg.lineOpacity);\r\n gc.setFillColor(cg.color);\r\n gc.setFillOpacity(cg.pellucidity);\r\n gc.setRadius(item.radius || 0);\r\n gc.setCenter(new T.LngLat(item.longitude,item.latitude));\r\n\r\n //缓存图元的数据,便于后期操作\r\n this.GM.setGraphicParam(\r\n item.id,\r\n {\r\n attributes: {...item,other: item},\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: item.longitude,\r\n y: item.latitude,\r\n radius: item.radius\r\n }\r\n }\r\n );\r\n }else{\r\n console.warn(`更新的圆id不存在!`);\r\n return false;\r\n }\r\n });\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 = new T.LngLat(d.lng,d.lat);\r\n p = t.state.gis.lngLatToContainerPoint(p);\r\n return [p.x,p.y];\r\n });\r\n let options = {\r\n size: d.size,\r\n shape: d.shape,\r\n color: d.color,\r\n width: t.state.gis.getSize().x,\r\n height: t.state.gis.getSize().y,\r\n mapId: t.props.mapId\r\n };\r\n //和arcgis使用同一个海量点\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 = new T.LngLat(d.lng,d.lat);\r\n p = t.state.gis.lngLatToContainerPoint(p);\r\n return [p.x,p.y];\r\n });\r\n let options = {\r\n size: ds.size,\r\n shape: ds.shape,\r\n color: ds.color,\r\n width: t.state.gis.getSize().x,\r\n height: t.state.gis.getSize().y\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 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 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 };\r\n if(d.config){\r\n cg = {...cg,...d.config};\r\n }\r\n \r\n if(!t.heatmap){\r\n if(T.HeatmapOverlay){\r\n t.heatmap = new T.HeatmapOverlay({\r\n visible: cg.visible\r\n });\r\n t.state.gis.addOverLay(t.heatmap);\r\n }else {\r\n t.heatmap = new TMapLib.HeatmapOverlay({\r\n visible: cg.visible\r\n });\r\n t.heatmap.initialize(t.state.gis,t.pointCollectionId);\r\n }\r\n }\r\n let option = {\r\n radius: cg.radius,\r\n //百度是1-100,高德是0-1\r\n opacity: eval(cg.opacity) * 100,\r\n visible: cg.visible\r\n }\r\n if(cg.gradient){\r\n option.gradient = cg.gradient;\r\n }\r\n t.heatmap.setOptions(option);\r\n t.heatmap.setDataSet({\r\n max: cg.max,\r\n data: d.data || []\r\n });\r\n if(cg.visible){\r\n t.isHideHeatMap = false;\r\n t.heatmap.show();\r\n }else{\r\n t.isHideHeatMap = true;\r\n t.heatmap.hide();\r\n }\r\n }\r\n //信息窗体\r\n infoWindow (d = {}){\r\n let t = this;\r\n var cg = {\r\n width: 300,\r\n height: 172,\r\n };\r\n if (d.config) {\r\n cg = {...cg,...d.config};\r\n }\r\n var sContent = document.createElement('div');\r\n var infowindow = new T.InfoWindow();\r\n infowindow.setMinWidth(cg.width);\r\n infowindow.setMaxHeight(cg.height);\r\n \r\n if(d.onClose instanceof Function){\r\n infowindow.addEventListener(\"clickclose\", e => {\r\n d.onClose(e);\r\n })\r\n }\r\n\r\n if(d.lat && d.lng && d.content){\r\n render(d.content, sContent);\r\n infowindow.setContent(sContent);\r\n t.state.gis.openInfoWindow(infowindow, new T.LngLat(d.lng,d.lat));\r\n\r\n } else {\r\n infowindow && t.state.gis.closeInfoWindow();\r\n }\r\n }\r\n showInfoWindow(params={}){\r\n const {width = 260, height= 500} = params;\r\n const t = this;\r\n if(t.popupWindow){\r\n t.hideInfoWindow();\r\n }\r\n var sContent = document.createElement('div')\r\n t.popupWindow = new T.InfoWindow();\r\n t.popupWindow.setMinWidth(width)\r\n t.popupWindow.setMaxHeight(height);\r\n render(params.content, sContent);\r\n t.popupWindow.setContent(sContent);\r\n t.state.gis.openInfoWindow(t.popupWindow, new T.LngLat(params.position[0],params.position[1]));\r\n }\r\n hideInfoWindow(){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.state.gis.closeInfoWindow();\r\n }\r\n t.popupWindow = null;\r\n }\r\n /*\r\n 参数\r\n geometryType:point/polyline/polygon/circle/rectangle 默认point\r\n parameter 样式 默认null 对象{}写入方式跟add方法一样(对应点线圆面)\r\n data //初始化数据 默认{id:'add'}\r\n */\r\n draw (obj) {\r\n var t = this,drawParam = {};\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 //判断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 switch(drawParam.geometryType){\r\n case 'point':\r\n this.markerTool.clear();\r\n break;\r\n case 'polyline':\r\n this.polylineTool.clear();\r\n break;\r\n case 'polygon':\r\n this.polygonTool.clear();\r\n break;\r\n case 'circle':\r\n this.circleTool.clear();\r\n break;\r\n case 'rectangle':\r\n this.rectangleTool.clear();\r\n break;\r\n }\r\n t.state.drawIds[drawParam.geometryType].splice(len,1);\r\n }\r\n let param = {};\r\n let paramgcr = {};\r\n window.map = this.state.gis;\r\n if(drawParam.geometryType == 'polygon' || drawParam.geometryType == 'circle' || drawParam.geometryType == 'rectangle'){\r\n paramgcr.fillColor = drawParam.parameter.color;\r\n paramgcr.color = drawParam.parameter.lineColor;\r\n paramgcr.opacity = drawParam.parameter.lineOpacity;\r\n paramgcr.weight = drawParam.parameter.lineWidth;\r\n paramgcr.fillOpacity = drawParam.parameter.pellucidity;\r\n paramgcr.extData = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n config: {\r\n color: drawParam.parameter.color,\r\n lineColor: drawParam.parameter.lineColor,\r\n lineOpacity: drawParam.parameter.lineOpacity,\r\n pellucidity: drawParam.parameter.pellucidity,\r\n lineWidth: drawParam.parameter.lineWidth\r\n }\r\n },\r\n type: drawParam.geometryType\r\n };\r\n }\r\n switch(drawParam.geometryType){\r\n case 'point':\r\n param.icon = new T.Icon({\r\n iconUrl: drawParam.parameter.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n iconSize: new T.Point(drawParam.parameter.width || 33,drawParam.parameter.height || 33),\r\n iconAnchor: new T.Point(drawParam.parameter.width?drawParam.parameter.width/2:16.5,\r\n drawParam.parameter.height?drawParam.parameter.height:33)\r\n });\r\n param.follow = false;\r\n if(this.markerTool)this.markerTool.close();\r\n this.markerTool = new T.MarkTool(this.state.gis, param);\r\n this.markerTool.open();\r\n this.markerTool.addEventListener('mouseup',(ob)=>{\r\n let { type, target, currentLnglat,currentMarker, allMarkers } = ob;\r\n t.GM.setGraphic(drawParam.data.id,currentMarker);\r\n let backobj = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n url: currentMarker.getIcon().options.iconUrl,\r\n config: {\r\n width: currentMarker.getIcon().options.iconSize.x,\r\n height: currentMarker.getIcon().options.iconSize.y\r\n }\r\n },\r\n geometry: {\r\n type: 'point',\r\n x: currentLnglat.lng,\r\n y: currentLnglat.lat\r\n },\r\n geometryType: 'point',\r\n mapLayer: currentMarker\r\n };\r\n //添加点击事件\r\n currentMarker.on( 'click', (e)=>{\r\n t.isNotClickMap = true;\r\n t.clickGraphic(drawParam.data.id,e);\r\n });\r\n currentMarker.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(drawParam.data.id,e);\r\n });\r\n currentMarker.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(drawParam.data.id,e);\r\n });\r\n t.GM.setGraphicParam(drawParam.data.id,backobj);\r\n if('drawEnd' in t.props){\r\n t.props.drawEnd(backobj);\r\n }\r\n });\r\n break;\r\n case 'polyline':\r\n param.color = drawParam.parameter.color;\r\n param.opacity = drawParam.parameter.pellucidity;\r\n param.weight = drawParam.parameter.lineWidth;\r\n if(this.polylineTool)this.polylineTool.close();\r\n this.polylineTool = new T.PolylineTool(this.state.gis, param);\r\n this.polylineTool.open();\r\n this.polylineTool.addEventListener('draw',(ob)=>{\r\n let {type,target,currentLnglats,currentDistance,currentPolyline,allPolylines} = ob;\r\n let lnglatAry = (currentLnglats || []).map((item,index)=>{\r\n return {lngX: item.lng,latX: item.lat};\r\n });\r\n t.GM.setGraphic(drawParam.data.id,currentPolyline);\r\n let backobj ={\r\n geometryType: 'polyline',\r\n distance: currentDistance,\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n config: {\r\n color: currentPolyline.getColor(),\r\n pellucidity: currentPolyline.getOpacity(),\r\n lineWidth: currentPolyline.getWeight()\r\n }\r\n },\r\n mapLayer: currentPolyline,\r\n geometry: {\r\n type: 'polyline',\r\n lnglatAry: lnglatAry,\r\n paths: getMaxMin(currentLnglats).path\r\n },\r\n lnglatAry: lnglatAry\r\n };\r\n //添加点击事件\r\n currentPolyline.on( 'click', (e)=>{\r\n t.isNotClickMap = true;\r\n t.clickGraphic(drawParam.data.id,e);\r\n });\r\n currentPolyline.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(drawParam.data.id,e);\r\n });\r\n currentPolyline.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(drawParam.data.id,e);\r\n });\r\n t.GM.setGraphicParam(drawParam.data.id,backobj);\r\n if('drawEnd' in t.props){\r\n t.props.drawEnd(backobj);\r\n }\r\n });\r\n break;\r\n case 'polygon':\r\n if(this.polygonTool)this.polygonTool.close();\r\n this.polygonTool = new T.PolygonTool(this.state.gis, paramgcr);\r\n this.polygonTool.open();\r\n this.polygonTool.addEventListener('draw',(ob)=>{\r\n let {type,target,currentLnglats,currentArea,currentPolygon,allPolygons} = ob;\r\n t.GM.setGraphic(drawParam.data.id,currentPolygon);\r\n let lnglatAry = (currentLnglats || []).map((item,index)=>{\r\n return {lngX: item.lng,latX: item.lat};\r\n });\r\n let backobj = {\r\n geometryType: 'polygon',\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n config: {\r\n color: currentPolygon.getFillColor(),\r\n lineColor: currentPolygon.getColor(),\r\n lineOpacity: currentPolygon.getOpacity(),\r\n pellucidity: currentPolygon.getFillOpacity(),\r\n lineWidth: currentPolygon.getWeight()\r\n }\r\n },\r\n mapLayer: currentPolygon,\r\n geometry: {\r\n type: 'polygon',\r\n lnglatAry: lnglatAry,\r\n rings: getMaxMin(currentLnglats).path,\r\n _extent: getMaxMin(currentLnglats)._extent,\r\n area: currentArea\r\n },\r\n lnglatAry: lnglatAry,\r\n area: currentArea\r\n };\r\n //添加点击事件\r\n currentPolygon.on( 'click', (e)=>{\r\n t.isNotClickMap = true;\r\n t.clickGraphic(drawParam.data.id,e);\r\n });\r\n currentPolygon.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(drawParam.data.id,e);\r\n });\r\n currentPolygon.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(drawParam.data.id,e);\r\n });\r\n t.GM.setGraphicParam(drawParam.data.id,backobj);\r\n if('drawEnd' in t.props){\r\n t.props.drawEnd(backobj);\r\n }\r\n if(t.frameSelectProps[backobj.id]?.callback instanceof Function){\r\n t.frameSelectProps[backobj.id].callback(backobj);\r\n }\r\n });\r\n break;\r\n case 'circle':\r\n if(this.circleTool)this.circleTool.close();\r\n this.circleTool = new T.CircleTool(this.state.gis, paramgcr);\r\n this.circleTool.open();\r\n this.circleTool.addEventListener('drawend',(ob)=>{\r\n let {type,target,currentCenter,currentRadius,currentCircle,allCircles} = ob;\r\n t.GM.setGraphic(drawParam.data.id,currentCircle);\r\n let area = Math.PI * Math.pow(currentRadius,2);\r\n let backobj = {\r\n geometryType: 'circle',\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n config: { \r\n color: currentCircle.getFillColor(),\r\n lineColor: currentCircle.getColor(),\r\n lineOpacity: currentCircle.getOpacity(),\r\n pellucidity: currentCircle.getFillOpacity(),\r\n lineWidth: currentCircle.getWeight()\r\n }\r\n },\r\n mapLayer: currentCircle,\r\n geometry: {\r\n type: 'circle',\r\n x: currentCenter.lng,\r\n y: currentCenter.lat,\r\n radius: currentRadius,\r\n area: area\r\n },\r\n area: area\r\n };\r\n //添加点击事件\r\n currentCircle.on( 'click', (e)=>{\r\n t.isNotClickMap = true;\r\n t.clickGraphic(drawParam.data.id,e);\r\n });\r\n currentCircle.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(drawParam.data.id,e);\r\n });\r\n currentCircle.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(drawParam.data.id,e);\r\n });\r\n t.GM.setGraphicParam(drawParam.data.id,backobj);\r\n if('drawEnd' in t.props){\r\n t.props.drawEnd(backobj);\r\n }\r\n if(t.frameSelectProps[backobj.id]?.callback instanceof Function){\r\n t.frameSelectProps[backobj.id].callback(backobj);\r\n }\r\n });\r\n break;\r\n case 'rectangle':\r\n if(this.rectangleTool)this.rectangleTool.close();\r\n this.rectangleTool = new T.RectangleTool(this.state.gis, paramgcr);\r\n this.rectangleTool.open();\r\n this.rectangleTool.addEventListener('draw',(ob)=>{\r\n let {type,target,currentBounds,currentRectangle,allRectangles} = ob;\r\n t.GM.setGraphic(drawParam.data.id,currentRectangle);\r\n let currentLnglats = [\r\n currentBounds.getNorthEast(),\r\n {lng: currentBounds.getSouthWest().lng,lat: currentBounds.getNorthEast().lat},\r\n currentBounds.getSouthWest(),\r\n {lng: currentBounds.getNorthEast().lng,lat: currentBounds.getSouthWest().lat}\r\n ];\r\n let lnglatAry = (currentLnglats || []).map((item,index)=>{\r\n return {lngX: item.lng,latX: item.lat};\r\n });\r\n let area = currentBounds.getNorthEast().distanceTo(\r\n new T.LngLat(currentBounds.getNorthEast().lng,\r\n currentBounds.getSouthWest().lat)\r\n )* currentBounds.getNorthEast().distanceTo(\r\n new T.LngLat(currentBounds.getSouthWest().lng,\r\n currentBounds.getNorthEast().lat)\r\n );\r\n let backobj = {\r\n geometryType: 'polygon',\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n config: {\r\n color: currentRectangle.getFillColor(),\r\n lineColor: currentRectangle.getColor(),\r\n lineOpacity: currentRectangle.getOpacity(),\r\n pellucidity: currentRectangle.getFillOpacity(),\r\n lineWidth: currentRectangle.getWeight()\r\n }\r\n },\r\n mapLayer: currentRectangle,\r\n geometry: {\r\n type: 'polygon',\r\n lnglatAry: lnglatAry,\r\n rings: getMaxMin(currentLnglats).path,\r\n _extent: getMaxMin(currentLnglats)._extent,\r\n area: area\r\n },\r\n lnglatAry: lnglatAry,\r\n area: area\r\n };\r\n //添加点击事件\r\n currentRectangle.on( 'click', (e)=>{\r\n t.isNotClickMap = true;\r\n t.clickGraphic(drawParam.data.id,e);\r\n });\r\n currentRectangle.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(drawParam.data.id,e);\r\n });\r\n currentRectangle.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(drawParam.data.id,e);\r\n });\r\n t.GM.setGraphicParam(drawParam.data.id,backobj);\r\n if('drawEnd' in t.props){\r\n t.props.drawEnd(backobj);\r\n }\r\n if(t.frameSelectProps[backobj.id]?.callback instanceof Function){\r\n t.frameSelectProps[backobj.id].callback(backobj);\r\n }\r\n });\r\n break;\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 if(this.markerTool){\r\n this.markerTool.close();\r\n }\r\n if(this.polylineTool){\r\n this.polylineTool.close();\r\n }\r\n if(this.polygonTool){\r\n this.polygonTool.close();\r\n }\r\n if(this.rectangleTool){\r\n this.rectangleTool.close();\r\n }\r\n if(this.circleTool){\r\n this.circleTool.close();\r\n }\r\n }\r\n\r\n /*根据图元id,使图元变成可编辑状态*/\r\n doEdit(id){\r\n let t = this;\r\n let ms = t.getGraphic(id);\r\n if(!ms){\r\n return false;\r\n }\r\n if(ms.getType === 1){\r\n return false;\r\n }\r\n if(!!t.state.editId){\r\n t.endEdit();\r\n }\r\n this.isEditId = id;\r\n switch(ms.geometryType){\r\n case 'point':\r\n ms.mapLayer.enableDragging();\r\n // ms.mapLayer.addEventListener('dragend',t.editGraphicChange);\r\n if(ms.mapLayer.label){\r\n ms.mapLayer.addEventListener('drag',t.showLabel);\r\n }\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n case 'circle':\r\n ms.mapLayer.enableEdit();\r\n break;\r\n }\r\n t.setState({\r\n editId: id\r\n })\r\n }\r\n //关闭编辑\r\n endEdit(){\r\n let t = this;\r\n let ms = t.getGraphic(t.state.editId);\r\n this.isEditId = null;\r\n switch(ms.geometryType){\r\n case 'point':\r\n ms.mapLayer.disableDragging();\r\n // ms.mapLayer.removeEventListener('dragend',t.editGraphicChange);\r\n if(ms.mapLayer.label){\r\n ms.mapLayer.removeEventListener('drag',t.showLabel);\r\n }\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n case 'circle':\r\n ms.mapLayer.disableEdit();\r\n break;\r\n }\r\n // 如果内容不变,就不返回\r\n if(t.lastGraphic != JSON.stringify(ms.geometry)){\r\n t.editGraphicChange(t.state.editId);\r\n t.lastGraphic = JSON.stringify(ms.geometry);\r\n }\r\n t.setState({\r\n editId: '',\r\n editGraphic: ''\r\n })\r\n }\r\n showLabel(){\r\n //这里的this指向调用的 点的对象\r\n this.showLabel();\r\n }\r\n //编辑变动后\r\n editGraphicChange(id){\r\n if(!id) return;\r\n let t = this;\r\n let ms = t.getGraphic(id);\r\n let obj = {\r\n id: id\r\n }\r\n switch(ms.geometryType){\r\n case 'point':\r\n obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n break;\r\n case 'polyline':\r\n ms.geometry._extent = getMaxMin(ms.mapLayer.getLngLats())._extent;\r\n obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n obj.distance = t.calculateDistance(ms.mapLayer.getLngLats());\r\n break;\r\n case 'polygon':\r\n case 'rectangle':\r\n ms.geometry._extent = getMaxMin(ms.mapLayer.getLngLats()[0])._extent;\r\n obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n // obj.area = getPolygonArea(ms.mapLayer.getLngLats()[0]);\r\n // obj.area = t.polygonTool.getArea(ms.mapLayer.getLngLats()[0]);\r\n // 关闭多边形多个听绘制后,回显报错\r\n break;\r\n case 'circle':\r\n obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n obj.area = Math.PI*Math.pow(ms.geometry.radius,2);\r\n break;\r\n }\r\n t.props.editGraphicChange(obj);\r\n }\r\n //删除图元\r\n removeGraphic(id,type){\r\n let t = this;\r\n if(!!this.GM.getGraphic(id)){\r\n //清除聚合点 避免异常\r\n if(t.clusterObj){\r\n t.clusterObj.removeMarker(this.GM.getGraphic(id));\r\n }\r\n //清除地图中图元\r\n this.state.gis.removeOverLay(this.GM.getGraphic(id));\r\n //删除含 label点的label(天地图的坑)\r\n if(type === 'point' && this.GM.getGraphic(id).label){\r\n this.state.gis.removeOverLay(this.GM.getGraphic(id).getLabel());\r\n }\r\n //清除对应id的图元数据缓存\r\n this.GM.removeGraphic(id);\r\n this.GM.removeGraphicParam(id);\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 //清除 state中id的缓存\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 clickGraphic (id,e) {\r\n let t = this;\r\n if(typeof(t.props.clickGraphic) ===\"function\"){\r\n let param = t.getGraphic(id);\r\n let obj = {\r\n param,\r\n type: param.geometry.type,//图元类型\r\n attributes: {...param.attributes.other,...{config:param.attributes.config}},//添加时图元信息\r\n top: e.containerPoint.y + t.mapTop,//当前点所在的位置(屏幕)\r\n left: e.containerPoint.x + t.mapLeft,\r\n e: e\r\n }\r\n t.props.clickGraphic(obj);\r\n }\r\n }\r\n //图元鼠标悬浮事件\r\n mouseOverGraphic(id,e){\r\n let t = this;\r\n if(typeof(t.props.mouseOverGraphic) === 'function'){\r\n if(id === t.isEditId){\r\n return false;\r\n }\r\n let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.containerPoint.y + t.mapTop,//当前点所在的位置(屏幕)\r\n left: e.containerPoint.x + t.mapLeft,\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 if(typeof(t.props.mouseOutGraphic) ===\"function\"){\r\n if(id === t.isEditId){\r\n return false;\r\n }\r\n let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.containerPoint.y + t.mapTop,//当前点所在的位置(屏幕)\r\n left: e.containerPoint.x + t.mapLeft,\r\n }\r\n t.props.mouseOutGraphic(obj);\r\n }\r\n }\r\n //拖拽地图开始\r\n dragMapStart(){\r\n let t = this;\r\n if(typeof(t.props.dragMapStart) ===\"function\"){\r\n t.state.gis.addEventListener('dragstart', function(e) {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n //处理下数据,符合拖拽事件\r\n t.props.dragMapStart(obj);\r\n });\r\n }\r\n }\r\n //拖拽地图结束事件\r\n dragMapEnd(){\r\n let t = this;\r\n if(typeof(t.props.dragMapEnd) ===\"function\"){\r\n t.state.gis.addEventListener('dragend', function(e) {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n //处理下数据,符合拖拽事件\r\n t.props.dragMapEnd(obj);\r\n });\r\n }\r\n }\r\n //地图移动开始事件\r\n moveStart(){\r\n let t = this;\r\n if(typeof(t.props.moveStart) ===\"function\"){\r\n t.state.gis.addEventListener('movestart', function(e) {\r\n if(!t.isZoom){\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n //处理下数据,符合拖拽事件\r\n t.props.moveStart(obj);\r\n }\r\n });\r\n }\r\n }\r\n //地图移动结束事件\r\n moveEnd(){\r\n let t = this;\r\n if(typeof(t.props.moveEnd) ===\"function\"){\r\n t.state.gis.addEventListener('moveend', function(e) {\r\n let xylist = [],mapPane = t.state.gis.getPanes().mapPane;\r\n if(mapPane.style.top){\r\n xylist = [mapPane.style.left,mapPane.style.top];\r\n }else{\r\n let matchList = mapPane.style.transform.match(/translate\\((-?\\d*)+px,\\s*(-?\\d*)+px\\)/) \r\n || mapPane.style.transform.match(/translate3d\\((-?\\d*)+px,\\s*(-?\\d*)+px,\\s*(-?\\d*)+px\\)/)\r\n || [];\r\n xylist = [matchList[1],matchList[2]];\r\n }\r\n //重画海量点\r\n $(`#${t.pointCollectionId}`).css({\r\n top: `${-xylist[1]}px`,\r\n left: `${-xylist[0]}px`\r\n })\r\n if(t.morepoints.length > 0){\r\n t.updatePointCollection(t.props.mapPointCollection);\r\n }\r\n if(t.isZoom){\r\n t.isZoom = false;\r\n }else{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n //处理下数据,符合拖拽事件\r\n t.props.moveEnd(obj);\r\n }\r\n });\r\n }\r\n }\r\n //地图更改缩放级别开始时触发触发此事件\r\n zoomStart(){\r\n let t =this;\r\n if(typeof(t.props.zoomStart) ===\"function\"){\r\n t.state.gis.addEventListener('zoomstart', function(e) {\r\n if(t.heatmap && !t.isHideHeatMap){\r\n t.heatmap.hide();\r\n }\r\n $(`#${t.pointCollectionId}`).css({display: 'none'});\r\n t.isZoom = true;\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 //地图更改缩放级别结束时触发触发此事件\r\n zoomEnd(){\r\n let t =this;\r\n if(typeof(t.props.zoomEnd) ===\"function\"){\r\n t.state.gis.addEventListener('zoomend', function(e) {\r\n //重画热力图\r\n if(t.heatmap && !t.isHideHeatMap){\r\n t.heatmap.show();\r\n t.heatmap.draw();\r\n }\r\n //重画海量点\r\n $(`#${t.pointCollectionId}`).css({display: 'inline-block'});\r\n if(t.morepoints.length > 0){\r\n t.updatePointCollection(t.props.mapPointCollection);\r\n }\r\n //避免zoom切换后,chrome的旋转角度被替换\r\n for(let i in t.GM.allParam){\r\n if(t.GM.allParam[i].geometryType == 'point' && t.GM.allParam[i].deg){\r\n t.GM.getGraphic(i).getElement().style.transform = \r\n t.GM.getGraphic(i).getElement().style.transform + ` rotate(${t.GM.allParam[i].deg}deg)`;\r\n }\r\n }\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 //地图点击事件\r\n clickMap(){\r\n let t =this;\r\n if(typeof(t.props.clickMap) ===\"function\"){\r\n t.state.gis.addEventListener('click', function(e) {\r\n if(t.isNotClickMap){\r\n t.isNotClickMap = false;\r\n }else{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n obj.clickLngLat = e.lnglat;\r\n obj.pixel = e.containerPoint;\r\n t.props.clickMap(obj);\r\n }\r\n });\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.getIcon()){\r\n let shape = {...marker.getIcon().getIconAnchor()};\r\n //初始数据 点位有变动,重新刷新数据\r\n if(!t.animCount[id] || shape.y != t.animCount[id].now){\r\n t.animCount[id] = {\r\n start: shape.y,\r\n now: shape.y,\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.y = t.animCount[id].now = (t.animCount[id].now + (t.animCount[id].notation)*2);\r\n marker.getIcon().setIconAnchor(shape);\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 += this.timer;\r\n t.movePoints[i].deleteTime -= this.timer;\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),deleteIndex=[];\r\n for(let i = 0;i < nowMovePoints.length; i++){\r\n let {id,oleLng,oldLat,rx,ry,deleteTime,totalTime,ddeg} = nowMovePoints[i];\r\n let gc = t.GM.getGraphic(id);\r\n if(!gc){\r\n clearInterval(t.moveToTimer[id]);\r\n }else{\r\n let tx = oleLng + rx * ((totalTime-deleteTime) / this.timer),\r\n ty = oldLat + ry* ((totalTime-deleteTime) / this.timer);\r\n let lglt = new T.LngLat(tx,ty);\r\n if(t.movePoints[i].url){\r\n gc.getIcon().setIconUrl(t.movePoints[i].url);\r\n }\r\n gc.setLngLat(lglt);\r\n t.GM.setGraphicParam(id,{...t.GM.getGraphicParam(id),deg: ddeg});\r\n //旋转角度\r\n gc.getElement().style.transform = gc.getElement().style.transform + ` rotate(${ddeg}deg)`;\r\n gc.getElement().style['-ms-transform'] = ` rotate(${ddeg}deg)`;\r\n if(gc.label){\r\n gc.showLabel();\r\n }\r\n // 移动过的 放后面再动\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 delay = eval(delay)*1000;\r\n let count = delay/this.timer,\r\n gc = this.GM.getGraphic(id);\r\n let s = gc.getLngLat(),e = new T.LngLat(lnglat[0],lnglat[1]);\r\n if(s.equals(e)){\r\n return false;\r\n }else{\r\n let ddeg = 0,url= null;\r\n //计算角度,旋转\r\n if(autoRotation){\r\n //自己实现旋转\r\n ddeg = t.rotateDeg(gc.getLngLat(),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 }\r\n //拆分延迟移动定位\r\n let rx = (e.lng - s.lng)/count, ry = (e.lat - s.lat)/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 oleLng: s.lng,\r\n oldLat: s.lat,\r\n id,rx,ry,ddeg,url,\r\n waitTime: 0,\r\n totalTime: delay,\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 oleLng: s.lng,\r\n oldLat: s.lat,\r\n id,rx,ry,ddeg,url,\r\n waitTime: 0,\r\n totalTime: delay,\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 AMap.LngLat(sp[0],sp[1]);\r\n }\r\n let s = t.state.gis.lngLatToLayerPoint(spLngLat),\r\n //获取当前点位的经纬度\r\n e = t.state.gis.lngLatToLayerPoint(new T.LngLat(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\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)\r\n bias=-1;\r\n else\r\n bias = 1;\r\n if(disy == 0)\r\n 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 //计算2点间距离 单位m 精确到个位\r\n calculatePointsDistance(f,s){\r\n let lnglat1 = new T.LngLat(f[0],f[1]);\r\n let lnglat2 = new T.LngLat(s[0],s[1]);\r\n return Math.round(lnglat1.distanceTo(lnglat2));\r\n }\r\n calculateDistance(ps){\r\n let t = this,totalDistance = 0;\r\n if (ps.length < 0) {return false;}\r\n for(let i= 0 ; i< ps.length ; i++){\r\n if(i < ps.length-1){\r\n if('distanceTo' in ps[i]){\r\n totalDistance += ps[i].distanceTo(ps[i + 1]);\r\n }else{\r\n totalDistance += new T.LngLat(ps[i][0],ps[i][1]).distanceTo(new T.LngLat(ps[i + 1][0],ps[i + 1][1]));\r\n }\r\n }\r\n }\r\n return Math.round(totalDistance*100)/100;\r\n }\r\n //数据解析(分析,新增,更新,删除对应的数据)\r\n dataMatch(oldData,newData,type){\r\n let onlyOldData = Set(oldData).subtract(Set(newData)).toJS();\r\n let onlyNewData = Set(newData).subtract(Set(oldData)).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).intersect(Set(onlyNewIDs)).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 = [], 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 = [], 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 searchPoints(searchValue,pageSize=10,pageIndex=1){\r\n let t = this;\r\n return new Promise((resolve)=>{\r\n let searchConfig = {\r\n pageCapacity: pageSize*pageIndex, //每页显示的数量\r\n //接收数据的回调函数\r\n onSearchComplete: (result)=>{\r\n if(!result.pois){\r\n resolve([]);;\r\n }else{\r\n let list = result.pois.map((r)=>{\r\n let lnglat = {};\r\n if(r.lonlat.indexOf(\",\")>-1){\r\n lnglat = {\r\n longitude: r.lonlat.split(',')[0],\r\n latitude: r.lonlat.split(',')[1],\r\n }\r\n }else {\r\n lnglat = {\r\n longitude: r.lonlat.split(' ')[0],\r\n latitude: r.lonlat.split(' ')[1],\r\n }\r\n }\r\n return {\r\n id: r.hotPointID,\r\n ...lnglat,\r\n canShowLabel: true,\r\n config: {\r\n labelContent: r.name,\r\n labelPixelY: 27\r\n },\r\n other: 'search'\r\n }\r\n })\r\n resolve(list);\r\n }\r\n } \r\n };\r\n //创建搜索对象\r\n let localsearch = new T.LocalSearch(t.state.gis, searchConfig);\r\n localsearch.search(searchValue);\r\n });\r\n\r\n }\r\n render(){\r\n let t = this;\r\n return (\r\n <div id={t.props.mapId} style={{width:'100%',height:'100%',zIndex: '1'}}></div>\r\n );\r\n }\r\n componentDidMount(){\r\n let t = this;\r\n this.loadMapComplete.then(()=>{\r\n t.mapLeft = document.getElementById(t.props.mapId).offsetLeft;\r\n t.mapTop = document.getElementById(t.props.mapId).offsetTop;\r\n t.init();\r\n //初始化完成后,再走更新\r\n t.isLoading = true;\r\n })\r\n }\r\n componentDidUpdate(prevProps, prevState) {//重新渲染结束\r\n let t = this;\r\n }\r\n UNSAFE_componentWillReceiveProps(nextProps,prevProps) {//已加载组件,收到新的参数时调用\r\n let t = this;\r\n let receive = ()=>{\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,imageOverlays,\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 isClearAll,mapStyle,\r\n isSetAreaRestriction,areaRestriction,isClearAreaRestriction,\r\n coverageType,\r\n infoWindowData\r\n } = nextProps;\r\n\r\n // 等待地图加载\r\n if(!t.mapCreated)return;\r\n // 设置地图样式\r\n if(!t.deepEqual(mapStyle,t.props.mapStyle)){\r\n if(mapStyle){\r\n t.state.gis.setStyle(mapStyle);\r\n }else{\r\n t.state.gis.removeStyle();\r\n }\r\n }\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType && !t.deepEqual(coverageType,t.props.coverageType)){\r\n t.setMapType(coverageType);\r\n }\r\n /*添加海量点*/\r\n if(mapPointCollection instanceof Array && t.props.mapPointCollection instanceof Array && !t.deepEqual(mapPointCollection,t.props.mapPointCollection)){\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(t.props.mapPointCollection,mapPointCollection,'id');\r\n t.clearPointCollection(deletedDataIDs);\r\n t.addPointCollection(addedData);\r\n t.updatePointCollection(updatedData);\r\n }\r\n if((typeof(isclearAllPointCollection) == 'boolean' && isclearAllPointCollection) || (isclearAllPointCollection && isclearAllPointCollection !== t.props.isclearAllPointCollection)){\r\n t.clearAllPointCollection();\r\n }\r\n\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.state.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 for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'point');\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(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.state.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.state.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 线数据处理\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.state.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 if(customizedBoundary instanceof Array && t.props.customizedBoundary instanceof Array && !t.deepEqual(customizedBoundary,t.props.customizedBoundary)){\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(t.props.customizedBoundary,customizedBoundary,'id');\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'line');\r\n }\r\n t.updateLine(updatedData);\r\n t.addLine(addedData); \r\n }\r\n // //绘制边界线\r\n // if(boundaryName instanceof Array && !t.deepEqual(boundaryName,t.props.boundaryName)){\r\n // let newBDName = Set(boundaryName);\r\n // let oldBDName = Set(t.props.boundaryName);\r\n // let removedBoundaryName = oldBDName.subtract(newBDName).toJS();\r\n // let addedBoundaryName = newBDName.subtract(oldBDName).toJS();\r\n // t.removeBaiduBoundary(removedBoundaryName);\r\n // t.addBaiduBoundary(addedBoundaryName);\r\n // }\r\n // 获取热力图\r\n if(heatMapData && !t.deepEqual(heatMapData,t.props.heatMapData)){\r\n t.heatMapOverlay(heatMapData);\r\n }\r\n // 打开信息窗体\r\n if(infoWindowData && !t.deepEqual(infoWindowData,t.props.infoWindowData)){\r\n t.infoWindow(infoWindowData);\r\n }\r\n //添加图片图层\r\n if(imageOverlays instanceof Array && !t.deepEqual(imageOverlays,t.props.imageOverlays)){\r\n t.imageUrlOverlay(imageOverlays);\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(setVisiblePoints) == 'boolean' && setVisiblePoints) || (setVisiblePoints && setVisiblePoints !== t.props.setVisiblePoints)){\r\n t.setVisiblePoints(mapVisiblePoints);\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(isClearAll) == 'boolean' && isClearAll) || (isClearAll && isClearAll !== t.props.isClearAll)){\r\n t.clearAll();\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 //设置比例尺\r\n if((typeof(setZoomLevel) == 'boolean' && setZoomLevel) || (setZoomLevel && setZoomLevel !== t.props.setZoomLevel)){\r\n if(!(t.getZoomLevel() == mapZoomLevel)){\r\n t.setZoomLevel(mapZoomLevel);\r\n }\r\n }\r\n // //是否打开路况\r\n // if(isOpenTrafficInfo){\r\n // t.openTrafficInfo();\r\n // }else{\r\n // t.hideTrafficInfo();\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.removeCluster(mapCluster);\r\n }\r\n //测距工具调用\r\n if((typeof(isRangingTool) == 'boolean' && isRangingTool) || (isRangingTool && isRangingTool !== t.props.isRangingTool)){\r\n t.vtxRangingTool();\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(t.waitReceive){\r\n clearInterval(t.waitReceive);\r\n }\r\n //等等天地图初始化\r\n if(t.isLoading){\r\n receive();\r\n }else{\r\n t.waitReceive = setInterval(()=>{\r\n if(t.isLoading){\r\n clearInterval(t.waitReceive);\r\n receive();\r\n }\r\n },100);\r\n }\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.showControl) {\r\n t.removeControl();\r\n }\r\n // 地图类型控件位置改变\r\n if(nextProps.satelliteSwitch && JSON.stringify(nextProps.satelliteSwitch)!=JSON.stringify(t.props.satelliteSwitch)){\r\n t.showMapTypeControl(nextProps);\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 if(t.waitReceive){\r\n clearInterval(t.waitReceive);\r\n }\r\n if(t.waitInit){\r\n clearInterval(t.waitInit);\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 if(window.VtxMap && window.VtxMap[t.state.mapId])\r\n window.VtxMap[t.state.mapId]= null;\r\n }\r\n}\r\nexport default TMap;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TMap.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_default2","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_classCallCheck","_defineProperties","key","_createClass","prototype","_toPrimitive","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","_inherits","create","_setPrototypeOf","Set","Immutable","TMap","_React$Component","props","_this","GM","graphicManage","getPolygonArea","pointCollectionId","isNotClickMap","isZoom","mapLeft","mapTop","clusterObj","clusterMarkers","markerTool","polylineTool","polygonTool","rectangleTool","circleTool","isEditId","moveToTimer","timer","movePoints","morepoints","heatmap","animTimer","animCount","waitInit","isLoading","waitReceive","mapCreated","state","gis","mapId","pointIds","lineIds","polygonIds","circleIds","editId","editGraphic","mapZoomLevel","boundaryInfo","drawIds","point","polyline","polygon","circle","rectangle","controlStyle","frameSelectProps","loadMapJs","loadMapComplete","Promise","resolve","reject","ensurejQuery","then","window","T","$","getScript","concat","configUrl","mapServerURL","tmapScriptUrl","Heatmap","HeatmapNew","PointCollection","ImageOverlays","all","clearInterval","setInterval","Tool","init","_t$props","mapPoints","mapLines","mapPolygons","mapCircles","setVisiblePoints","mapVisiblePoints","mapCenter","mapCluster","mapPointCollection","showControl","boundaryName","areaRestriction","heatMapData","imageOverlays","coverageType","infoWindowData","createMap","setMapType","addPoint","addLine","addPolygon","addCircle","imageUrlOverlay","heatMapOverlay","infoWindow","setTimeout","addPointCollection","setZoomLevel","cluster","satelliteSwitch","showMapTypeControl","setAreaRestriction","dragMapStart","dragMapEnd","moveStart","moveEnd","zoomStart","zoomEnd","clickMap","_t$props2","mapStyle","_t$props2$mapCenter","minZoom","maxZoom","VtxMap","AnchorConstant","tr","T_ANCHOR_TOP_RIGHT","tl","T_ANCHOR_TOP_LEFT","bl","T_ANCHOR_BOTTOM_LEFT","br","T_ANCHOR_BOTTOM_RIGHT","Map","zoom","center","LngLat","setStyle","pointCollectionDiv","document","createElement","id","className","getPanes","mapPane","children","before","initPropsForUser","arr","fitView","obj","undefined","callback","frameSelect","clearFrameSelect","clearFrameSelectById","showInfoWindow","hideInfoWindow","_ref","geometryType","_ref$parameter","parameter","_ref$data","data","includes","message","warn","params","type","Math","random","color","lineColor","lineOpacity","lineWidth","pellucidity","lineType","draw","removeGraphic","TMAP_NORMAL_MAP","TMAP_HYBRID_MAP","imageAry","map","item","index","sw","ne","url","opacity","displayOnMinLevel","displayOnMaxLevel","console","swnep","LngLatBounds","ImageOverlay","addOverLay","clearAll","clear","removeMarkers","clearAllPointCollection","getOverlays","removeOverLay","setState","setCenter","gt","centerAndZoom","getZoom","sw_ne","bounds","setMaxBounds","clearAreaRestriction","ls","_t$state","getLngLats","ids","alnglat","getMoreGraphic","getType","getLngLat","getCenter","split","_t$state$gis$getViewp","getViewport","lng","lat","setViewport","getCurrentCenter","getZoomLevel","getMapExtent","mapSize","width","getSize","x","height","y","nowCenter","northEast","getBounds","getNorthEast","southWest","getSouthWest","radius","calculatePointsDistance","getLng","getLat","arg","ary","ms","label","MarkerClusterer","markers","removeCluster","options","location","offset","scaleOffset","config","scaleControl","removeControl","navigationControl","control","Control","Scale","position","addControl","navigation","Zoom","css","right","top","left","bottom","mapTypeControl","MapType","vtxRangingTool","_this2","lineTool","PolylineTool","showLabel","open","addEventListener","mapRangingTool","distance","currentDistance","lnglats","currentLnglats","getGraphic","gp","getGraphicParam","gg","p","pts","mapLayer","geometry","attributes","longitude","latitude","other","paths","rings","getRadius","_this3","psids","cg","labelContent","labelPixelX","labelPixelY","markerContentX","markerContentY","zIndex","deg","isRepetition","markerContent","markerOption","zIndexOffset","marker","icon","Icon","iconUrl","iconSize","Point","iconAnchor","Marker","Label","text","canShowLabel","labelClass","BAnimationType","pointAnimation","getElement","style","transform","clickGraphic","mouseOverGraphic","mouseOutGraphic","setGraphic","setGraphicParam","updatePoint","_this4","gc","getIcon","setZIndexOffset","isAnimation","setLngLat","setIcon","moveTo","animationDelay","autoRotation","urlleft","moveAnimation","_this5","lsids","isHidden","lineOption","weight","lineStyle","path","itm","ind","Polyline","updateLine","_this6","getColor","getOpacity","getWeight","getLineStyle","setColor","setOpacity","setLineStyle","setWeight","setLngLats","_this7","pgsids","polygonOption","fillColor","fillOpacity","Polygon","on","updatePolygon","_this8","getFillColor","getFillOpacity","setFillColor","setFillOpacity","_this9","ccsids","circleOption","Circle","updateCircle","_this0","setRadius","d","points","lngLatToContainerPoint","size","shape","VotexpointCollection","GMapLib","updatePointCollection","ds","reDraw","clearPointCollection","max","visible","HeatmapOverlay","TMapLib","initialize","option","eval","gradient","setOptions","setDataSet","isHideHeatMap","show","hide","sContent","infowindow","InfoWindow","setMinWidth","setMaxHeight","onClose","Function","content","render","setContent","openInfoWindow","closeInfoWindow","_params$width","_params$height","popupWindow","drawParam","Date","getTime","len","indexOf","splice","param","paramgcr","extData","follow","close","MarkTool","ob","target","currentLnglat","currentMarker","allMarkers","backobj","drawEnd","currentPolyline","allPolylines","lnglatAry","lngX","latX","getMaxMin","PolygonTool","_t$frameSelectProps$b","currentArea","currentPolygon","allPolygons","_extent","area","CircleTool","_t$frameSelectProps$b2","currentCenter","currentRadius","currentCircle","allCircles","PI","pow","RectangleTool","_t$frameSelectProps$b3","currentBounds","currentRectangle","allRectangles","distanceTo","closeDraw","doEdit","endEdit","enableDragging","enableEdit","disableDragging","removeEventListener","disableEdit","lastGraphic","JSON","stringify","editGraphicChange","calculateDistance","removeMarker","getLabel","removeGraphicParam","containerPoint","xylist","matchList","match","display","allParam","clickLngLat","lnglat","pixel","getIconAnchor","now","start","notation","setIconAnchor","_this1","waitTime","deleteTime","sort","nowMovePoints","deleteIndex","_nowMovePoints$_i","oleLng","oldLat","rx","ry","totalTime","ddeg","tx","ty","lglt","setIconUrl","b","delay","urlright","count","equals","rotateDeg","isHave","sp","ep","spLngLat","AMap","lngLatToLayerPoint","tan","atan","disy","bias","deepEqual","is","fromJS","lnglat1","lnglat2","round","ps","totalDistance","dataMatch","oldData","newData","onlyOldData","subtract","toJS","onlyNewData","onlyOldIDs","onlyNewIDs","updateDataIDs","intersect","updatedData","replacedData","deletedDataIDs","oldID","addedData","dealAdd","ads","otherupds","dealUpdate","upds","otherads","searchPoints","searchValue","pageSize","pageIndex","searchConfig","pageCapacity","onSearchComplete","result","pois","list","lonlat","hotPointID","localsearch","LocalSearch","search","componentDidMount","getElementById","offsetLeft","offsetTop","componentDidUpdate","prevProps","prevState","UNSAFE_componentWillReceiveProps","nextProps","receive","_t$state2","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","customizedBoundary","isOpenTrafficInfo","setCluster","isRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isclearAllPointCollection","isClearAll","isSetAreaRestriction","isClearAreaRestriction","removeStyle","_t$dataMatch","oldMapPoints","newMapPoints","_t$dataMatch2","_t$dealAdd","_t$dealUpdate","_iterator","_step","err","oldMapPolygons","newMapPolygons","_t$dataMatch3","_t$dealAdd2","_t$dealUpdate2","_iterator2","_step2","oldMapCircles","newMapCircles","_t$dataMatch4","_t$dealAdd3","_t$dealUpdate3","_iterator3","_step3","oldMapLines","newMapLines","_t$dataMatch5","_t$dealAdd4","_t$dealUpdate4","_iterator4","_step4","_t$dataMatch6","_iterator5","_step5","componentWillUnmount","j","React","Component","_default","exports","module"],"sources":["VtxMap/TMap/TMap.js"],"sourcesContent":["import React from 'react';\nimport { render } from 'react-dom';\nimport { graphicManage, getMaxMin, getPolygonArea } from '../MapToolFunction';\nimport Immutable from 'immutable';\nconst { Set } = Immutable;\n//公共地址配置\nimport configUrl, { getTMapTK, ensurejQuery } from '../../default';\nclass TMap extends React.Component {\n constructor(props) {\n super(props);\n //初始化 图元管理方法\n this.GM = new graphicManage();\n this.getPolygonArea = getPolygonArea;\n this.pointCollectionId = 'vtx_gmap_html_pointCollection';//海量点canvas点位容器id class管理\n this.isNotClickMap = false;//阻止点击事件冒泡到地图\n this.isZoom = false;//阻止 zoom事件后触发的移动事件\n this.mapLeft = 0;//地图offset的Left值\n this.mapTop = 0;//地图offset的Top值\n this.clusterObj = null;//聚合对象\n this.clusterMarkers = null;//聚合的点集合\n this.markerTool = null;//绘制点对象\n this.polylineTool = null;//绘制线对象\n this.polygonTool = null;//绘制面对象\n this.rectangleTool = null;//绘制矩形对象\n this.circleTool = null;//绘制圆对象\n this.isEditId = null;//记录当前编辑的id,过滤移入移出事件\n this.moveToTimer = null;//moveTo时间对象\n this.timer = 10; //动画播放频率\n this.movePoints = [];//move点的对象集合\n this.morepoints = [];//海量点集合\n this.heatmap = null;//热力图对象\n this.animTimer = {};//点位跳动动画\n this.animCount = {};//点位跳动动画 位置记录\n this.waitInit = null; //等加载定时\n this.isLoading = false; //是否加载完\n this.waitReceive = null;//等初始化,更新定时\n this.mapCreated = false;\n this.state = {\n gis: null,//地图对象\n mapId: props.mapId,\n pointIds: [], //地图上点的ids\n lineIds: [], //地图上线的ids\n polygonIds: [], //地图上面的ids\n circleIds: [], //地图上圆的ids\n editId: '',//当前编辑的图元id\n editGraphic: '',//当前编辑完后图元所有数据\n // center: props.mapCenter,\n mapZoomLevel: props.mapZoomLevel,\n boundaryInfo: [],//当前画出的边界线的id和区域名\n drawIds: {//绘制工具id集合\n point: [],\n polyline: [],\n polygon: [],\n circle: [],\n rectangle: []\n },\n controlStyle: 'lt'\n }\n this.frameSelectProps = {};\n this.loadMapJs();\n }\n loadMapJs() {\n let t = this;\n this.loadMapComplete = new Promise((resolve, reject) => {\n ensurejQuery().then(() => {\n if (window.T) {\n resolve(window.T);\n }\n else {\n $.getScript(`${configUrl.mapServerURL}/T_content.js`, () => {\n $.getScript(configUrl.tmapScriptUrl, () => {\n let Heatmap = new Promise((resolve, reject) => {\n //对象问题 和arcgis使用不同的热力图\n $.getScript(`${configUrl.mapServerURL}/Theatmap.js`, () => {\n resolve();\n });\n });\n let HeatmapNew = new Promise((resolve, reject) => {\n //新版的热力图--老的暂不废弃,但是有问题\n $.getScript(`${configUrl.mapServerURL}/HeatmapOverlay.js`, () => {\n resolve();\n });\n });\n let PointCollection = new Promise((resolve, reject) => {\n $.getScript(`${configUrl.mapServerURL}/GPointCollection.js`, () => {\n resolve();\n });\n });\n let ImageOverlays = new Promise((resolve, reject) => {\n $.getScript(`${configUrl.mapServerURL}/TImageOverlay.js`, () => {\n resolve();\n });\n });\n // let components = new Promise((resolve,reject)=>{\n // $.getScript(`${configUrl.mapServerURL}/T_toolComponents.js`,()=>{\n // resolve();\n // })\n // });\n Promise.all([Heatmap, PointCollection, ImageOverlays, HeatmapNew/*,components*/]).then(() => {\n if (t.waitInit) {\n clearInterval(t.waitInit);\n }\n t.waitInit = setInterval(() => {\n if (T.Tool) {\n clearInterval(t.waitInit);\n resolve(window.T);\n }\n }, 50)\n })\n })\n })\n }\n });\n });\n }\n init() {\n let t = this;\n const {\n mapPoints, mapLines, mapPolygons, mapCircles,\n setVisiblePoints, mapVisiblePoints,\n mapCenter, mapZoomLevel,\n mapCluster, mapPointCollection,\n showControl, boundaryName,\n areaRestriction, heatMapData,\n imageOverlays, coverageType,\n infoWindowData\n } = t.props;\n //创建地图\n t.createMap();\n // 切换地图矢量图和卫星图背景\n if (coverageType) {\n t.setMapType(coverageType);\n }\n //添加点\n if (mapPoints instanceof Array) {\n t.addPoint(mapPoints);\n }\n //添加线\n if (mapLines instanceof Array) {\n t.addLine(mapLines);\n }\n // //添加面\n if (mapPolygons instanceof Array) {\n t.addPolygon(mapPolygons);\n }\n //添加圆\n if (mapCircles instanceof Array) {\n t.addCircle(mapCircles);\n }\n //添加图片图层\n if (imageOverlays instanceof Array) {\n t.imageUrlOverlay(imageOverlays);\n }\n /*设置指定图元展示*/\n if (mapVisiblePoints) {\n t.setVisiblePoints(mapVisiblePoints);\n }\n // 画热力图\n if (heatMapData) {\n t.heatMapOverlay(heatMapData);\n }\n // 打开信息窗体\n if (infoWindowData) {\n t.infoWindow(infoWindowData);\n }\n //添加海量点\n if (mapPointCollection instanceof Array) {\n setTimeout(() => {\n t.addPointCollection(mapPointCollection);\n }, 100)\n }\n //设置比例尺\n if (mapZoomLevel) {\n t.setZoomLevel(mapZoomLevel);\n }\n //设置点聚合\n if (mapCluster) {\n t.cluster(mapCluster);\n }\n // //展示比例尺\n if (showControl) {\n t.showControl();\n }\n //添加地图类型控件\n if (t.props.satelliteSwitch) {\n t.showMapTypeControl();\n }\n // //画边界线\n // if(boundaryName instanceof Array && boundaryName.length>0){\n // t.addBaiduBoundary(boundaryName);\n // }\n\n //设置区域限制\n if (areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]) {\n t.setAreaRestriction(areaRestriction);\n }\n //初始化地图拖拽开始事件\n t.dragMapStart();\n //初始化地图拖拽结束事件\n t.dragMapEnd();\n //初始化地图移动开始事件\n t.moveStart();\n //初始化地图移动结束事件\n t.moveEnd();\n //初始化地图zoom改变开始事件\n t.zoomStart();\n //初始化地图zoom改变结束事件\n t.zoomEnd();\n //初始化地图点击事件\n t.clickMap();\n this.mapCreated = true;\n }\n createMap() {\n let t = this;\n const { mapStyle, mapCenter = [], mapId, mapZoomLevel, minZoom, maxZoom } = t.props;\n if (!window.VtxMap) {\n window.VtxMap = {};\n }\n // 控件位置常量\n t.AnchorConstant = {\n tr: T_ANCHOR_TOP_RIGHT,\n tl: T_ANCHOR_TOP_LEFT,\n bl: T_ANCHOR_BOTTOM_LEFT,\n br: T_ANCHOR_BOTTOM_RIGHT\n }\n window.VtxMap[mapId] = t.state.gis = new T.Map(mapId.toString(), {\n //zoom等级,和百度一样默认10\n zoom: mapZoomLevel || 10,\n //必须有中心点,不传默认在北京(不设置中心点,报错)\n center: mapCenter ? new T.LngLat(mapCenter[0] || 116.40769, mapCenter[1] || 39.906705)\n : new T.LngLat(116.40769, 39.89945),\n minZoom: minZoom || 1,\n maxZoom: maxZoom || 18\n });\n if (mapStyle) {\n t.state.gis.setStyle(mapStyle);\n }\n //海量点图元容器\n t.pointCollectionId = `${mapId}_${t.pointCollectionId}`;\n let pointCollectionDiv = document.createElement('div');\n pointCollectionDiv.id = t.pointCollectionId;\n pointCollectionDiv.class = 'vtx_gmap_html_pointCollection_t';\n pointCollectionDiv.className = 'vtx_gmap_html_pointCollection_t';\n $(t.state.gis.getPanes().mapPane.children[0]).before(pointCollectionDiv);\n t.initPropsForUser();\n }\n // 初始化对外方法\n initPropsForUser() {\n const t = this;\n t.state.gis[\"fitView\"] = (arr) => {\n t.fitView(arr);\n }\n t.state.gis[\"frameSelect\"] = (obj = {}, callback) => {\n return t.frameSelect(obj, callback);\n }\n t.state.gis[\"clearFrameSelect\"] = () => {\n return t.clearFrameSelect();\n }\n t.state.gis[\"clearFrameSelectById\"] = (id) => {\n return t.clearFrameSelectById(id);\n }\n t.state.gis[\"showInfoWindow\"] = (obj) => {\n return t.showInfoWindow(obj);\n }\n t.state.gis[\"hideInfoWindow\"] = () => {\n return t.hideInfoWindow();\n }\n }\n // 框选\n frameSelect({ geometryType, parameter = {}, data = {} }, callback) {\n if (!['polygon', 'circle', 'rectangle'].includes(geometryType)) {\n message.warn(\"传入的类型不支持框选!\")\n return false;\n }\n const t = this;\n let params = {},\n type = geometryType || 'polygon',\n id = data.id || `frameSelectFeature_${Math.random()}`;\n\n params.color = parameter.color || 'red';\n params.lineColor = parameter.lineColor || 'red';\n params.lineOpacity = parameter.lineOpacity || 1;\n params.lineWidth = parameter.lineWidth || 2;\n params.pellucidity = parameter.pellucidity || 0.6;\n params.lineType = parameter.lineType || 'solid';\n\n t.draw({\n geometryType: type,\n parameter: {\n ...parameter,\n ...params\n },\n data: {\n id: id\n }\n });\n\n t.frameSelectProps[id] = {\n callback,\n id,\n type: geometryType\n }\n }\n // 清除框选\n clearFrameSelect() {\n for (let key in this.frameSelectProps) {\n this.removeGraphic(this.frameSelectProps[key].id, this.frameSelectProps[key].type);\n }\n this.frameSelectProps = {};\n }\n // 清除框选ById\n clearFrameSelectById(id) {\n let obj = this.frameSelectProps[id];\n this.removeGraphic(obj.id, obj.type);\n delete this.frameSelectProps[id];\n }\n setMapType(type) {\n switch (type) {\n case 'sl':\n this.state.gis.setMapType(TMAP_NORMAL_MAP);\n break;\n case 'wx':\n this.state.gis.setMapType(TMAP_HYBRID_MAP);\n break;\n }\n }\n //增加图片图层\n imageUrlOverlay(imageAry) {\n let t = this;\n imageAry.map((item, index) => {\n let { sw, ne, url, opacity, displayOnMinLevel, displayOnMaxLevel } = item;\n if (!url) {\n console.warn(`图片图层url数据错误`);\n return false;\n }\n if (sw && ne && Array.isArray(sw) && Array.isArray(ne) && sw[0] && sw[1] && ne[0] && ne[1]) {\n let swnep = new T.LngLatBounds(\n new T.LngLat(sw[0], sw[1]),\n new T.LngLat(ne[0], ne[1])\n ),\n imageUrlOverlay = new T.ImageOverlay(\n url,\n swnep,\n {\n minZoom: displayOnMinLevel || 3,\n maxZoom: displayOnMaxLevel || 18\n }\n );\n t.state.gis.addOverLay(imageUrlOverlay);\n } else {\n console.warn(`区域经纬度sw/ne数据错误`);\n return false;\n }\n })\n }\n //清空地图所有图元\n clearAll() {\n let t = this;\n //清空热力图\n if (t.heatmap) {\n t.heatmap.clear();\n }\n t.heatmap = null;\n //先清除所有标记\n if (t.clusterMarkers) {\n t.clusterObj.removeMarkers(t.clusterMarkers);\n }\n t.clearAllPointCollection();\n //清空点\n t.state.gis.getOverlays().map((item, index) => {\n t.state.gis.removeOverLay(item);\n })\n //清空缓存数据\n t.GM.clearAll();\n //清空历史数据记录\n t.setState({\n pointIds: [],\n lineIds: [],\n polygonIds: [],\n circleIds: [],\n boundaryInfo: [],\n drawIds: {\n point: [],\n polyline: [],\n polygon: [],\n circle: [],\n rectangle: []\n }\n });\n }\n /*set方法*/\n //设置地图中心位置 lng/经度 lat/纬度\n setCenter(gt) {\n let t = this;\n if (!t.state.gis) {\n return;\n }\n if (gt) {\n t.state.gis.centerAndZoom(new T.LngLat(gt[0], gt[1]), t.state.gis.getZoom());\n } else {\n t.state.gis.centerAndZoom(new T.LngLat(116.400433, 39.906705), t.state.gis.getZoom());\n }\n }\n /*地图区域限制*/\n setAreaRestriction(sw_ne) {\n let t = this;\n let bounds = new T.LngLatBounds(new T.LngLat(sw_ne[0][0], sw_ne[0][1]), new T.LngLat(sw_ne[1][0], sw_ne[1][1]))\n t.state.gis.setMaxBounds(bounds);\n }\n clearAreaRestriction() {\n this.state.gis.setMaxBounds(null);\n }\n //设置指定图元展示 高德只有zoom和center全适应,单适应暂时无法实现\n setVisiblePoints(obj) {\n let t = this;\n let ls = [];\n let { pointIds, lineIds, polygonIds, circleIds } = t.state;\n let getLngLats = (ids) => {\n let alnglat = [];\n t.GM.getMoreGraphic(ids).map((item, index) => {\n //根据天地图 覆盖物类型获取lnglat\n switch(item?.getType()){\n case 1:\n case 2:\n alnglat.push(item.getLngLat());\n break;\n case 4:\n alnglat.push(...item.getLngLats());\n break;\n case 5://多边形 返回的是 三维数组\n alnglat.push(...item.getLngLats()[0]);\n break;\n case 8:\n alnglat.push(item.getCenter());\n break;\n }\n });\n return alnglat;\n }\n //算出 要展示的图元点位\n switch (obj.fitView) {\n case 'point':\n ls = getLngLats(pointIds);\n break;\n case 'line':\n ls = getLngLats(lineIds);\n break;\n case 'polygon':\n ls = getLngLats(polygonIds);\n break;\n case 'circle':\n ls = getLngLats(circleIds);\n break;\n case 'all':\n ls = getLngLats([...pointIds, ...lineIds, ...polygonIds, ...circleIds]);\n break;\n default:\n let ids = [];\n if (obj.fitView instanceof Array) {\n ids = obj.fitView;\n } else if (typeof (obj.fitView) === 'string') {\n ids = obj.fitView.split(',');\n }\n if (ids[0] instanceof Array) {\n ls = ids.map((item) => {\n return new T.LngLat(item[0], item[1]);\n })\n } else {\n ls = getLngLats(ids);\n }\n break;\n }\n if (ls.length >= 1) {\n let { center, zoom } = (t.state.gis.getViewport(ls));\n if (obj.type == 'zoom') {\n t.setZoomLevel(zoom);\n } else if (obj.type == 'center') {\n t.setCenter([center.lng, center.lat]);\n } else {\n t.state.gis.centerAndZoom(center, zoom);\n }\n }\n }\n\n // 设置最佳视野\n fitView(arr = []) {\n const t = this;\n if (arr?.length > 0) {\n t.state.gis.setViewport(arr.map(item => new T.LngLat(item[0], item[1])));\n }\n }\n\n //设置地图比例尺\n setZoomLevel(zoom) {\n let t = this;\n t.state.gis.centerAndZoom(t.state.gis.getCenter(), zoom);\n }\n //获取当前地图的中心位置\n getCurrentCenter() {\n let t = this;\n return {\n lat: t.state.gis.getCenter().lat,\n lng: t.state.gis.getCenter().lng\n };\n }\n //获取当前比例尺\n getZoomLevel() {\n let t = this;\n return t.state.gis.getZoom();\n }\n //获取当前地图边框左右边角经纬度,中心点位置,和比例尺,半径距离\n getMapExtent() {\n let t = this;\n let { gis } = t.state;\n let obj = {\n mapSize: { width: gis.getSize().x, height: gis.getSize().y },\n nowCenter: t.getCurrentCenter(),\n northEast: {\n lat: gis.getBounds().getNorthEast().lat,\n lng: gis.getBounds().getNorthEast().lng\n },\n southWest: {\n lat: gis.getBounds().getSouthWest().lat,\n lng: gis.getBounds().getSouthWest().lng\n },\n zoom: t.getZoomLevel()\n }\n obj.radius = t.calculatePointsDistance([obj.nowCenter.lng, obj.nowCenter.lat], [\n gis.getBounds().getNorthEast().getLng(), gis.getBounds().getNorthEast().getLat()]);\n return obj;\n }\n //聚合地图图元(arg为空时聚合全部点)\n cluster(arg) {\n let t = this;\n let ary = [];\n if (!arg) {\n let { pointIds } = t.state;\n ary = pointIds;\n } else {\n if (Object.prototype.toString.apply(arg) === '[object Array]') {\n ary = arg;\n } else if (typeof arg === 'string') {\n ary = arg.split(',');\n }\n }\n let ms = this.GM.getMoreGraphic(ary).filter((item, index) => {\n // return !item && item != 0 ? false : true;\n return item && item.getType() === 2 && !item.label;\n });\n //聚合的对象,便于后期清除时调用\n this.clusterObj = new T.MarkerClusterer(t.state.gis, { markers: ms });\n //记录聚合的点,便于后期清除\n this.clusterMarkers = ms;\n }\n // 清除聚合\n removeCluster(arg) {\n let t = this;\n let ids = (arg && arg?.length > 0) ? arg : t.state.pointIds;\n t.clusterObj.removeMarkers(t.clusterObj.options.markers)\n ids.map(id => {\n t.GM.removeGraphic(id);\n })\n // 重新加点\n t.addPoint(t.props.mapPoints);\n }\n //设置比例尺\n showControl(props) {\n let t = this, location = t.AnchorConstant['tr'], offset = null, scaleOffset = null;\n let config = props || t.props;\n if (t.scaleControl) {\n t.state.gis.removeControl(t.scaleControl);\n }\n if (t.navigationControl) {\n t.state.gis.removeControl(t.navigationControl);\n }\n if (config.showControl.location) {\n location = t.AnchorConstant[config.showControl.location];\n }\n // 添加比例尺\n let control = new T.Control.Scale({ position: location, offset: scaleOffset });\n t.state.gis.addControl(control);\n t.scaleControl = control;\n // 缩放地图\n let navigation = new T.Control.Zoom({ position: location, offset });\n t.state.gis.addControl(navigation);\n t.navigationControl = navigation\n\n // TODO不支持偏移,手动偏移\n if (config.showControl.offset && config.showControl.offset.length > 0) {\n if (location == \"topright\") {\n $('div.tdt-top.tdt-right').css({ right: config.showControl.offset[0], top: config.showControl.offset[1] })\n } else if (location == \"topleft\") {\n $('div.tdt-top.tdt-left').css({ left: config.showControl.offset[0], top: config.showControl.offset[1] })\n } else if (location == \"bottomleft\") {\n $('div.tdt-bottom.tdt-left').css({ left: config.showControl.offset[0], bottom: config.showControl.offset[1] })\n } else if (location == \"bottomright\") {\n $('div.tdt-bottom.tdt-right').css({ right: config.showControl.offset[0], bottom: config.showControl.offset[1] })\n }\n }\n }\n\n // 移除比例尺\n removeControl() {\n const t = this;\n if (t.scaleControl) {\n t.state.gis.removeControl(t.scaleControl);\n t.scaleControl = null;\n }\n if (t.navigationControl) {\n t.state.gis.removeControl(t.navigationControl);\n t.navigationControl = null;\n }\n }\n\n //展示地图切换控件\n showMapTypeControl(props) {\n let t = this, location = t.AnchorConstant['br'], offset = null;\n let config = props || t.props;\n if (t.mapTypeControl) {\n t.state.gis.removeControl(t.mapTypeControl);\n }\n if (config.satelliteSwitch.location) {\n location = t.AnchorConstant[config.satelliteSwitch.location];\n }\n // 地图切换控件\n let control = new T.Control.MapType({ position: location, offset: offset });\n t.state.gis.addControl(control);\n t.mapTypeControl = control;\n\n // TODO不支持偏移,手动偏移\n if (config.satelliteSwitch.offset && config.satelliteSwitch.offset.length > 0) {\n if (location == \"topright\") {\n $('div.tdt-top.tdt-right').css({ right: config.satelliteSwitch.offset[0], top: config.satelliteSwitch.offset[1] })\n } else if (location == \"topleft\") {\n $('div.tdt-top.tdt-left').css({ left: config.satelliteSwitch.offset[0], top: config.satelliteSwitch.offset[1] })\n } else if (location == \"bottomleft\") {\n $('div.tdt-bottom.tdt-left').css({ left: config.satelliteSwitch.offset[0], bottom: config.satelliteSwitch.offset[1] })\n } else if (location == \"bottomright\") {\n $('div.tdt-bottom.tdt-right').css({ right: config.satelliteSwitch.offset[0], bottom: config.satelliteSwitch.offset[1] })\n }\n }\n }\n //测距\n vtxRangingTool() {\n let t = this;\n //将map对象放到全局中.是因为天地图api中使用了全局map.(坑B)\n window.map = t.state.gis;\n //创建标注工具对象\n let lineTool = new T.PolylineTool(t.state.gis, { showLabel: true });\n lineTool.open();\n this.isNotClickMap = true;\n //监听每次点击事件,阻止地图点击事件冒泡\n lineTool.addEventListener('addpoint', () => {\n this.isNotClickMap = true;\n })\n lineTool.addEventListener('draw', (obj) => {\n if ('mapRangingTool' in t.props) {\n t.props.mapRangingTool({\n distance: obj.currentDistance,\n lnglats: obj.currentLnglats.map((item, index) => {\n return [item.lng, item.lat];\n })\n });\n }\n })\n }\n //获取图元数据\n getGraphic(id) {\n let t = this;\n if (!id) {\n return false;\n }\n let gp = t.GM.getGraphicParam(id);\n let gg = t.GM.getGraphic(id);\n if (!gg) {\n return false;\n }\n let p = {}, pts = [], lng = 0, lat = 0;\n switch (gp.geometryType) {\n case 'point':\n lng = gg.getLngLat().getLng();\n lat = gg.getLngLat().getLat();\n p = {\n ...gp,\n mapLayer: gg,\n geometry: {\n ...gp.geometry,\n x: lng,\n y: lat\n },\n attributes: {\n ...gp.attributes,\n longitude: lng,\n latitude: lat,\n other: {\n ...gp.attributes.other,\n longitude: lng,\n latitude: lat,\n }\n }\n }\n break;\n case 'polyline':\n pts = gg.getLngLats().map((item, index) => {\n return [item.lng, item.lat]\n });\n p = {\n ...gp,\n mapLayer: gg,\n geometry: {\n ...gp.geometry,\n paths: pts\n },\n attributes: {\n ...gp.attributes,\n paths: pts,\n other: {\n ...gp.attributes.other,\n paths: pts\n }\n }\n }\n break;\n case 'polygon':\n pts = gg.getLngLats()[0].map((item, index) => {\n return [item.lng, item.lat]\n });\n p = {\n ...gp,\n mapLayer: gg,\n geometry: {\n ...gp.geometry,\n rings: pts\n },\n attributes: {\n ...gp.attributes,\n rings: pts,\n other: {\n ...gp.attributes.other,\n rings: pts\n }\n }\n }\n break;\n case 'circle':\n lng = gg.getCenter().getLng();\n lat = gg.getCenter().getLat();\n let radius = gg.getRadius();\n p = {\n ...gp,\n mapLayer: gg,\n geometry: {\n ...gp.geometry,\n x: lng,\n y: lat,\n radius\n },\n attributes: {\n ...gp.attributes,\n longitude: lng,\n latitude: lat,\n radius,\n other: {\n ...gp.attributes.other,\n longitude: lng,\n latitude: lat,\n radius\n }\n }\n }\n break;\n }\n return p;\n }\n //添加点\n addPoint(mapPoints, type) {\n let t = this;\n let psids = [...t.state.pointIds];\n mapPoints.map((item, index) => {\n let cg = {\n width: 33,\n height: 33,\n labelContent: '',\n labelPixelX: 0,\n labelPixelY: 33,\n markerContentX: -16.5,\n markerContentY: -33,\n zIndex: 100,\n deg: 0\n }\n //如果id重复,直接跳过不执行.\n if (this.GM.isRepetition(item.id)) {\n console.warn(`加点id: ${item.id} 重复`);\n return false;\n }\n //点位数据不符合,直接跳过\n if (!item.longitude || !item.latitude) {\n console.warn(`点 经纬度 数据错误`);\n return false;\n }\n if (item.markerContent) {\n cg = { ...cg, markerContentX: 0, markerContentY: 0, width: 100, height: 30 };\n }\n //初始化默认数据\n if (item.config) {\n cg = { ...cg, ...item.config };\n }\n //覆盖物参数\n let markerOption = {\n zIndexOffset: cg.zIndex,\n opacity: 1\n }\n let marker = null;\n //判断html还是图片\n if (!!item.markerContent) {\n markerOption.icon = new T.Icon({\n iconUrl: item.url || `${configUrl.mapServerURL}/images/touming.png`,\n iconSize: new T.Point(cg.width, cg.height),\n iconAnchor: new T.Point(-cg.markerContentX, -cg.markerContentY)\n });\n if (cg.zIndex !== undefined || cg.zIndex !== null) {\n markerOption.zIndexOffset = cg.zIndex;\n }\n //获得覆盖物对象\n marker = new T.Marker(new T.LngLat(item.longitude, item.latitude), markerOption);\n t.state.gis.addOverLay(marker);\n //-12,+15测试的阈值\n marker.label = new T.Label({\n text: item.markerContent,\n offset: new T.Point(cg.markerContentX - 12, cg.markerContentY + 15)\n });\n marker.showLabel();\n //统一加点\n } else {\n markerOption.icon = new T.Icon({\n iconUrl: item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\n iconSize: new T.Point(cg.width, cg.height),\n iconAnchor: new T.Point(-cg.markerContentX, -cg.markerContentY)\n });\n if (cg.zIndex !== undefined || cg.zIndex !== null) {\n markerOption.zIndexOffset = cg.zIndex;\n }\n //获得覆盖物对象\n marker = new T.Marker(new T.LngLat(item.longitude, item.latitude), markerOption);\n //添加点击事件\n //统一加点\n t.state.gis.addOverLay(marker);\n //是否展示label\n if (item.canShowLabel) {\n let labelClass = item.labelClass || 'label-content';\n marker.label = new T.Label({\n text: `<div class='${labelClass}'>${cg.labelContent}</div>`,\n offset: new T.Point((cg.labelPixelX - (cg.width / 2)), cg.labelPixelY + (cg.markerContentY + cg.height / 2))\n })\n marker.showLabel();\n }\n }\n //点跳动动画\n if (!item.markerContent && cg.BAnimationType == 0) {\n t.pointAnimation(item.id, marker);\n } else {\n t.pointAnimation(item.id, null);\n }\n if (cg.deg) {\n marker.getElement().style.transform = marker.getElement().style.transform + ` rotate(${cg.deg}deg)`;\n marker.getElement().style['-ms-transform'] = ` rotate(${cg.deg}deg)`;\n }\n marker.addEventListener('click', (e) => {\n t.clickGraphic(item.id, e);\n });\n marker.addEventListener('mouseover', (e) => {\n t.mouseOverGraphic(item.id, e);\n });\n marker.addEventListener('mouseout', (e) => {\n t.mouseOutGraphic(item.id, e);\n });\n psids.push(item.id);\n //缓存图元的数据,偏于后期操作\n this.GM.setGraphic(\n item.id, marker\n ).setGraphicParam(\n item.id,\n {\n attributes: { ...item, other: item },\n geometryType: 'point',\n geometry: {\n type: 'point',\n x: item.longitude,\n y: item.latitude\n },\n deg: cg.deg\n }\n );\n });\n if (type !== 'defined') {\n t.state.pointIds = psids;\n // t.setState({\n // pointIds: psids\n // });\n }\n }\n //更新点\n updatePoint(mapPoints) {\n let t = this;\n mapPoints.map((item, index) => {\n //判断图元是否存在.\n if (this.GM.isRepetition(item.id)) {\n //点位数据不符合,直接跳过\n if (!item.longitude || !item.latitude) {\n console.warn(`点 经纬度 数据错误`);\n return false;\n }\n //获取原有的图元\n let gc = this.GM.getGraphic(item.id);\n let cg = null;\n if (!!item.markerContent) {\n cg = {\n markerContentX: (item.config || {}).markerContentX || gc.getIcon().options.iconSize.x,\n markerContentY: (item.config || {}).markerContentY || gc.getIcon().options.iconSize.y,\n //暂时不设置旋转角度,后期维护设置吧\n // deg: item.config.deg,\n zIndex: (item.config || {}).zIndex || gc.options.zIndexOffset\n };\n //设置点的标记添加顺序\n // gc.setZindex(cg.zIndex);\n gc.setZIndexOffset(cg.zIndex);\n if (!(item.config || {}).isAnimation) {\n //修改经纬度\n gc.setLngLat(new T.LngLat(item.longitude, item.latitude));\n }\n if (gc.label) {\n this.state.gis.removeOverLay(gc.label);\n }\n gc.label = new T.Label({\n text: item.markerContent,\n offset: new T.Point(cg.markerContentX - 12, cg.markerContentY + 15)\n });\n gc.showLabel();\n } else {\n cg = {\n width: (item.config || {}).width || 33,\n height: (item.config || {}).height || 33,\n markerContentX: (item.config || {}).markerContentX || -16.5,\n markerContentY: (item.config || {}).markerContentY || -33,\n //暂时不设置旋转角度,后期维护设置吧\n deg: (item.config || {}).deg,\n zIndex: (item.config || {}).zIndex || 100,\n labelClass: (item.config || {}).labelContent || 'label-content',\n labelContent: '',\n BAnimationType: (item.config || {}).BAnimationType,\n labelPixelX: 0,\n labelPixelY: 33,\n };\n gc.setIcon(new T.Icon({\n iconUrl: item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\n iconSize: new T.Point(cg.width, cg.height),\n iconAnchor: new T.Point(-cg.markerContentX, -cg.markerContentY)\n }));\n if (!(item.config || {}).isAnimation) {\n //修改经纬度\n gc.setLngLat(new T.LngLat(item.longitude, item.latitude));\n }\n //是否展示label\n if (item.canShowLabel) {\n if (gc.label) {\n this.state.gis.removeOverLay(gc.label);\n }\n // cg.labelPixelX= (item.config || {}).labelPixelX?(item.config || {}).labelPixelX - (cg.width/2):gc.getLabel().options.offset.x;\n // cg.labelPixelY= (item.config || {}).labelPixelY?(item.config || {}).labelPixelY + (cg.markerContentY + cg.height/2):gc.getLabel().options.offset.y;\n // cg.labelContent= (item.config || {}).labelContent || gc.getLabel().options.text;\n cg.labelPixelX = (item.config || {}).labelPixelX ? (item.config || {}).labelPixelX - (cg.width / 2) : cg.labelPixelX - cg.width / 2;\n cg.labelPixelY = (item.config || {}).labelPixelY ? (item.config || {}).labelPixelY + (cg.markerContentY + cg.height / 2) : cg.labelPixelY + (cg.markerContentY + cg.height / 2);\n cg.labelContent = (item.config || {}).labelContent || '';\n let labelClass = item.labelClass || 'label-content';\n //更新label\n gc.label = new T.Label({\n text: `<div class='${labelClass}'>${cg.labelContent}</div>`,\n offset: new T.Point(cg.labelPixelX, cg.labelPixelY)\n })\n gc.showLabel();\n }\n //设置点的标记添加顺序\n gc.setZIndexOffset(cg.zIndex);\n }\n //点跳动动画\n if (!item.markerContent && cg.BAnimationType == 0) {\n t.pointAnimation(item.id, gc);\n } else {\n t.pointAnimation(item.id, null);\n }\n if (cg.deg) {\n gc.getElement().style.transform = gc.getElement().style.transform + ` rotate(${cg.deg}deg)`;\n gc.getElement().style['-ms-transform'] = ` rotate(${cg.deg}deg)`;\n }\n //动画效果会延迟执行经纬度的切换\n if ((item.config || {}).isAnimation) {\n t.moveTo(item.id, [item.longitude, item.latitude], (item.config || {}).animationDelay, (item.config || {}).autoRotation, item.url, item.urlleft);\n }\n this.GM.setGraphicParam(\n item.id,\n {\n attributes: { ...item, other: item },\n geometryType: 'point',\n geometry: {\n type: 'point',\n x: item.longitude,\n y: item.latitude\n },\n deg: cg.deg || 0\n }\n );\n } else {\n console.warn(`更新的点id不存在!`);\n return false;\n }\n });\n t.moveAnimation();\n }\n //添加线\n addLine(mapLines, type) {\n let t = this;\n let lsids = [...t.state.lineIds];\n //遍历添加线(图元)\n mapLines.map((item, index) => {\n let cg = {\n color: '#277ffa',\n pellucidity: 0.9,\n lineWidth: 5,\n lineType: 'solid',\n isHidden: false\n }\n //如果id重复,直接跳过不执行.\n if (this.GM.isRepetition(item.id)) {\n console.warn(`多折线id: ${item.id} 重复`);\n return false;\n }\n //多折线点位数据不符合,直接跳过\n if (!(item.paths && item.paths.length >= 2)) {\n console.warn(`多折线paths数据错误`);\n return false;\n }\n if (item.config) {\n cg = { ...cg, ...item.config };\n }\n let lineOption = {\n color: cg.color,\n opacity: cg.pellucidity,\n weight: cg.lineWidth,\n lineStyle: cg.lineType,\n path: item.paths || [],\n }\n //天地图没有hidden方法,所以用weight为0来实现\n if (cg.isHidden) {\n lineOption.weight = 0;\n }\n let p = lineOption.path.map((itm, ind) => {\n return new T.LngLat(itm[0], itm[1]);\n });\n let polyline = new T.Polyline(p, lineOption);\n t.state.gis.addOverLay(polyline);\n // 添加点击事件\n polyline.addEventListener('click', (e) => {\n t.isNotClickMap = true;\n t.clickGraphic(item.id, e);\n });\n polyline.addEventListener('mouseover', (e) => {\n t.mouseOverGraphic(item.id, e);\n });\n polyline.addEventListener('mouseout', (e) => {\n t.mouseOutGraphic(item.id, e);\n });\n //缓存图元的数据,便于后期操作\n let pts = item.paths.map((itm, ind) => {\n return [...itm];\n });\n this.GM.setGraphic(item.id, polyline).setGraphicParam(\n item.id,\n {\n attributes: {\n ...item,\n paths: [pts],\n other: item\n },\n geometryType: 'polyline',\n geometry: {\n type: 'polyline',\n paths: [pts]\n }\n }\n );\n lsids.push(item.id);\n //state中缓存 line的id...用于数据判断\n t.state.lineIds.push(item.id);\n });\n if (type !== 'defined') {\n t.state.lineIds = lsids;\n // t.setState({\n // lineIds: lsids\n // });\n }\n }\n //更新线\n updateLine(mapLines) {\n let t = this;\n //遍历添加线(图元)\n mapLines.map((item, index) => {\n //判断图元是否存在.\n if (this.GM.isRepetition(item.id)) {\n //多折线点位数据不符合,直接跳过\n if (!(item.paths && item.paths.length >= 2)) {\n console.warn(`多折线paths数据错误`);\n return false;\n }\n //获取原有的图元\n let gc = this.GM.getGraphic(item.id);\n //获取原有的线属性,转换key值\n let cg = {\n color: gc.getColor(),\n pellucidity: gc.getOpacity(),\n lineWidth: gc.getWeight(),\n lineType: gc.getLineStyle()\n };\n //重新初始化值\n if (item.config) {\n cg = { ...cg, ...item.config };\n }\n //更新线\n gc.setColor(cg.color);\n gc.setOpacity(cg.pellucidity);\n gc.setLineStyle(cg.lineType);\n //根据参数判断是否显示多折线\n gc.setWeight(cg.lineWidth || 5);\n if (item.config && item.config.isHidden) {\n gc.setWeight(0);\n }\n //更新经纬度\n let p = item.paths.map((itm, ind) => {\n return new T.LngLat(itm[0], itm[1]);\n });\n gc.setLngLats(p);\n //处理数据 用于其他事件返回\n let pts = item.paths.map((itm, ind) => {\n return [...itm];\n });\n this.GM.setGraphicParam(\n item.id,\n {\n attributes: {\n ...item,\n paths: [pts],\n other: item\n },\n geometryType: 'polyline',\n geometry: {\n type: 'polyline',\n paths: [pts]\n }\n }\n );\n } else {\n console.warn(`更新的多折线id不存在!`);\n return false;\n }\n });\n }\n //添加面\n addPolygon(mapPolygons) {\n let t = this;\n let pgsids = [...t.state.polygonIds];\n //遍历添加面(图元)\n mapPolygons.map((item, index) => {\n let cg = {\n lineType: 'solid',\n lineWidth: 5,\n lineColor: '#277ffa',\n lineOpacity: 1,\n color: '#fff',\n pellucidity: 0.5\n // isHidden: false //后期跟百度一起加\n }\n //如果id重复,直接跳过不执行.\n if (this.GM.isRepetition(item.id)) {\n console.warn(`多边形id: ${item.id} 重复`);\n return false;\n }\n //多边形点位数据不符合,直接跳过\n if (!(item.rings && item.rings.length >= 3)) {\n console.warn(`多边形rings数据错误`);\n return false;\n }\n if (item.config) {\n cg = { ...cg, ...item.config };\n }\n let polygonOption = {\n color: cg.lineColor,\n opacity: cg.lineOpacity,\n weight: cg.lineWidth,\n lineStyle: cg.lineType,\n fillColor: cg.color,\n fillOpacity: cg.pellucidity,\n path: item.rings || []\n }\n let r = polygonOption.path.map((itm, ind) => {\n return new T.LngLat(itm[0], itm[1]);\n });\n let polygon = new T.Polygon(r, polygonOption);\n this.state.gis.addOverLay(polygon);\n //添加点击事件\n polygon.on('click', (e) => {\n t.isNotClickMap = true;\n t.clickGraphic(item.id, e);\n });\n polygon.on('mouseover', (e) => {\n t.mouseOverGraphic(item.id, e);\n });\n polygon.on('mouseout', (e) => {\n t.mouseOutGraphic(item.id, e);\n });\n //缓存图元的数据,便于后期操作\n let pts = item.rings.map((itm, ind) => {\n return [...itm];\n });\n this.GM.setGraphic(item.id, polygon).setGraphicParam(\n item.id,\n {\n attributes: {\n ...item,\n rings: pts,\n other: item\n },\n geometryType: 'polygon',\n geometry: {\n type: 'polygon',\n rings: pts\n },\n }\n );\n pgsids.push(item.id);\n\n });\n t.state.polygonIds = pgsids;\n // t.setState({\n // polygonIds: pgsids\n // })\n }\n //更新面\n updatePolygon(mapPolygons) {\n let t = this;\n mapPolygons.map((item, index) => {\n //判断图元是否存在.\n if (this.GM.isRepetition(item.id)) {\n //多边形点位数据不符合,直接跳过\n if (!(item.rings && item.rings.length >= 3)) {\n console.warn(`多边形rings数据错误`);\n return false;\n }\n //获取原有的图元\n let gc = this.GM.getGraphic(item.id);\n //获取原有的面属性,转换key值\n let cg = {\n lineType: gc.getLineStyle(),\n lineWidth: gc.getWeight(),\n lineColor: gc.getColor(),\n lineOpacity: gc.getOpacity(),\n color: gc.getFillColor(),\n pellucidity: gc.getFillOpacity()\n }\n //重新初始化值\n if (item.config) {\n cg = { ...cg, ...item.config };\n }\n gc.setLineStyle(cg.lineType);\n gc.setWeight(cg.lineWidth);\n gc.setColor(cg.lineColor);\n gc.setOpacity(cg.lineOpacity);\n gc.setFillColor(cg.color);\n gc.setFillOpacity(cg.pellucidity);\n let r = item.rings.map((itm, ind) => {\n return new T.LngLat(itm[0], itm[1]);\n })\n gc.setLngLats(r);\n let pts = item.rings.map((itm, ind) => {\n return [...itm];\n });\n this.GM.setGraphicParam(\n item.id,\n {\n attributes: {\n ...item,\n rings: pts,\n other: item\n },\n geometryType: 'polygon',\n geometry: {\n type: 'polygon',\n rings: pts\n }\n }\n );\n } else {\n console.warn(`更新的多边形id不存在!`);\n return false;\n }\n });\n }\n //添加圆 circle\n addCircle(mapCircles) {\n let t = this;\n let ccsids = [...t.state.circleIds];\n mapCircles.map((item, index) => {\n let cg = {\n lineType: 'solid',\n lineWidth: 5,\n lineColor: '#277ffa',\n lineOpacity: 1,\n color: '#fff',\n pellucidity: 0.5\n // isHidden: false //后期跟百度一起加\n }\n //如果id重复,直接跳过不执行.\n if (this.GM.isRepetition(item.id)) {\n console.warn(`圆id: ${item.id} 重复`);\n return false;\n }\n //圆 点位数据不符合,直接跳过\n if (!item.longitude || !item.latitude) {\n console.warn(`圆 经纬度 数据错误`);\n return false;\n }\n if (item.config) {\n cg = { ...cg, ...item.config };\n }\n //初始化配置数据\n let circleOption = {\n color: cg.lineColor,\n opacity: cg.lineOpacity,\n weight: cg.lineWidth,\n lineStyle: cg.lineType,\n fillColor: cg.color,\n fillOpacity: cg.pellucidity\n }\n //创建圆对象\n let circle = new T.Circle(new T.LngLat(item.longitude, item.latitude), item.radius, circleOption);\n this.state.gis.addOverLay(circle);\n //添加点击事件\n circle.on('click', (e) => {\n t.isNotClickMap = true;\n t.clickGraphic(item.id, e);\n });\n circle.on('mouseover', (e) => {\n t.mouseOverGraphic(item.id, e);\n });\n circle.on('mouseout', (e) => {\n t.mouseOutGraphic(item.id, e);\n });\n //缓存图元的数据,便于后期操作\n this.GM.setGraphic(item.id, circle).setGraphicParam(\n item.id,\n {\n attributes: { ...item, other: item },\n geometryType: 'circle',\n geometry: {\n type: 'circle',\n x: item.longitude,\n y: item.latitude,\n radius: item.radius\n }\n }\n );\n ccsids.push(item.id);\n });\n t.state.circleIds = ccsids;\n // t.setState({\n // circleIds: ccsids\n // })\n }\n //更新圆\n updateCircle(mapCircles) {\n let t = this;\n mapCircles.map((item, index) => {\n //判断图元是否存在.\n if (this.GM.isRepetition(item.id)) {\n //圆 点位数据不符合,直接跳过\n if (!item.longitude || !item.latitude) {\n console.warn(`圆 经纬度 数据错误`);\n return false;\n }\n //获取原有的图元\n let gc = this.GM.getGraphic(item.id);\n //获取原有的面属性,转换key值\n let cg = {\n lineType: gc.getLineStyle(),\n lineWidth: gc.getWeight(),\n lineColor: gc.getColor(),\n lineOpacity: gc.getOpacity(),\n color: gc.getFillColor(),\n pellucidity: gc.getFillOpacity()\n }\n //重新初始化值\n if (item.config) {\n cg = { ...cg, ...item.config };\n }\n gc.setLineStyle(cg.lineType);\n gc.setWeight(cg.lineWidth);\n gc.setColor(cg.lineColor);\n gc.setOpacity(cg.lineOpacity);\n gc.setFillColor(cg.color);\n gc.setFillOpacity(cg.pellucidity);\n gc.setRadius(item.radius || 0);\n gc.setCenter(new T.LngLat(item.longitude, item.latitude));\n\n //缓存图元的数据,便于后期操作\n this.GM.setGraphicParam(\n item.id,\n {\n attributes: { ...item, other: item },\n geometryType: 'circle',\n geometry: {\n type: 'circle',\n x: item.longitude,\n y: item.latitude,\n radius: item.radius\n }\n }\n );\n } else {\n console.warn(`更新的圆id不存在!`);\n return false;\n }\n });\n }\n //添加海量点\n addPointCollection(data = []) {\n let t = this;\n data.map((item, index) => {\n let d = item || {};\n let points = (d.points || []).map((d, i) => {\n let p = new T.LngLat(d.lng, d.lat);\n p = t.state.gis.lngLatToContainerPoint(p);\n return [p.x, p.y];\n });\n let options = {\n size: d.size,\n shape: d.shape,\n color: d.color,\n width: t.state.gis.getSize().x,\n height: t.state.gis.getSize().y,\n mapId: t.props.mapId\n };\n //和arcgis使用同一个海量点\n let VotexpointCollection = new GMapLib.PointCollection(points, options);\n t.morepoints.push({\n id: d.id,\n value: VotexpointCollection\n });\n VotexpointCollection.draw();\n });\n }\n //更新海量点\n updatePointCollection(data = []) {\n let t = this;\n data.map((ds, ind) => {\n t.morepoints.map((item, index) => {\n if (item.id == ds.id) {\n let points = (ds.points || []).map((d, i) => {\n let p = new T.LngLat(d.lng, d.lat);\n p = t.state.gis.lngLatToContainerPoint(p);\n return [p.x, p.y];\n });\n let options = {\n size: ds.size,\n shape: ds.shape,\n color: ds.color,\n width: t.state.gis.getSize().x,\n height: t.state.gis.getSize().y\n };\n item.value.reDraw(points, options);\n }\n })\n })\n }\n //清空单个海量点\n clearPointCollection(ids) {\n let t = this;\n ids.map((id, ind) => {\n t.morepoints.map(function (item, index) {\n if (id == item.id) {\n item.value.clear();\n }\n });\n });\n }\n //清空海量点\n clearAllPointCollection() {\n let t = this;\n t.morepoints.map(function (item, index) {\n item.value.clear();\n });\n }\n //热力图\n heatMapOverlay(d = {}) {\n let t = this;\n let cg = {\n radius: 20,\n max: 100,\n visible: true,\n opacity: 0.7\n };\n if (d.config) {\n cg = { ...cg, ...d.config };\n }\n\n if (!t.heatmap) {\n if (T.HeatmapOverlay) {\n t.heatmap = new T.HeatmapOverlay({\n visible: cg.visible\n });\n t.state.gis.addOverLay(t.heatmap);\n } else {\n t.heatmap = new TMapLib.HeatmapOverlay({\n visible: cg.visible\n });\n t.heatmap.initialize(t.state.gis, t.pointCollectionId);\n }\n }\n let option = {\n radius: cg.radius,\n //百度是1-100,高德是0-1\n opacity: eval(cg.opacity) * 100,\n visible: cg.visible\n }\n if (cg.gradient) {\n option.gradient = cg.gradient;\n }\n t.heatmap.setOptions(option);\n t.heatmap.setDataSet({\n max: cg.max,\n data: d.data || []\n });\n if (cg.visible) {\n t.isHideHeatMap = false;\n t.heatmap.show();\n } else {\n t.isHideHeatMap = true;\n t.heatmap.hide();\n }\n }\n //信息窗体\n infoWindow(d = {}) {\n let t = this;\n var cg = {\n width: 300,\n height: 172,\n };\n if (d.config) {\n cg = { ...cg, ...d.config };\n }\n var sContent = document.createElement('div');\n var infowindow = new T.InfoWindow();\n infowindow.setMinWidth(cg.width);\n infowindow.setMaxHeight(cg.height);\n\n if (d.onClose instanceof Function) {\n infowindow.addEventListener(\"clickclose\", e => {\n d.onClose(e);\n })\n }\n\n if (d.lat && d.lng && d.content) {\n render(d.content, sContent);\n infowindow.setContent(sContent);\n t.state.gis.openInfoWindow(infowindow, new T.LngLat(d.lng, d.lat));\n\n } else {\n infowindow && t.state.gis.closeInfoWindow();\n }\n }\n showInfoWindow(params = {}) {\n const { width = 260, height = 500 } = params;\n const t = this;\n if (t.popupWindow) {\n t.hideInfoWindow();\n }\n var sContent = document.createElement('div')\n t.popupWindow = new T.InfoWindow();\n t.popupWindow.setMinWidth(width)\n t.popupWindow.setMaxHeight(height);\n render(params.content, sContent);\n t.popupWindow.setContent(sContent);\n t.state.gis.openInfoWindow(t.popupWindow, new T.LngLat(params.position[0], params.position[1]));\n }\n hideInfoWindow() {\n const t = this;\n if (t.popupWindow) {\n t.state.gis.closeInfoWindow();\n }\n t.popupWindow = null;\n }\n /*\n 参数\n geometryType:point/polyline/polygon/circle/rectangle 默认point\n parameter 样式 默认null 对象{}写入方式跟add方法一样(对应点线圆面)\n data //初始化数据 默认{id:'add'}\n */\n draw(obj) {\n var t = this, drawParam = {};\n //初始化参数\n drawParam.geometryType = obj.geometryType || 'point';\n drawParam.parameter = obj.parameter ? { ...obj.parameter } : {};\n drawParam.data = obj.data ? { ...obj.data } : {};\n drawParam.data.id = (obj.data || {}).id || `draw${new Date().getTime()}`;\n //判断id是否存在\n let len = t.state.drawIds[drawParam.geometryType].indexOf(drawParam.data.id);\n if (len > -1) {\n //如果id存在 删除存在的图元,清除drawId中的id数据\n switch (drawParam.geometryType) {\n case 'point':\n this.markerTool.clear();\n break;\n case 'polyline':\n this.polylineTool.clear();\n break;\n case 'polygon':\n this.polygonTool.clear();\n break;\n case 'circle':\n this.circleTool.clear();\n break;\n case 'rectangle':\n this.rectangleTool.clear();\n break;\n }\n t.state.drawIds[drawParam.geometryType].splice(len, 1);\n }\n let param = {};\n let paramgcr = {};\n window.map = this.state.gis;\n if (drawParam.geometryType == 'polygon' || drawParam.geometryType == 'circle' || drawParam.geometryType == 'rectangle') {\n paramgcr.fillColor = drawParam.parameter.color;\n paramgcr.color = drawParam.parameter.lineColor;\n paramgcr.opacity = drawParam.parameter.lineOpacity;\n paramgcr.weight = drawParam.parameter.lineWidth;\n paramgcr.fillOpacity = drawParam.parameter.pellucidity;\n paramgcr.extData = {\n id: drawParam.data.id,\n attributes: {\n id: drawParam.data.id,\n config: {\n color: drawParam.parameter.color,\n lineColor: drawParam.parameter.lineColor,\n lineOpacity: drawParam.parameter.lineOpacity,\n pellucidity: drawParam.parameter.pellucidity,\n lineWidth: drawParam.parameter.lineWidth\n }\n },\n type: drawParam.geometryType\n };\n }\n switch (drawParam.geometryType) {\n case 'point':\n param.icon = new T.Icon({\n iconUrl: drawParam.parameter.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\n iconSize: new T.Point(drawParam.parameter.width || 33, drawParam.parameter.height || 33),\n iconAnchor: new T.Point(drawParam.parameter.width ? drawParam.parameter.width / 2 : 16.5,\n drawParam.parameter.height ? drawParam.parameter.height : 33)\n });\n param.follow = false;\n if (this.markerTool) this.markerTool.close();\n this.markerTool = new T.MarkTool(this.state.gis, param);\n this.markerTool.open();\n this.markerTool.addEventListener('mouseup', (ob) => {\n let { type, target, currentLnglat, currentMarker, allMarkers } = ob;\n t.GM.setGraphic(drawParam.data.id, currentMarker);\n let backobj = {\n id: drawParam.data.id,\n attributes: {\n id: drawParam.data.id,\n url: currentMarker.getIcon().options.iconUrl,\n config: {\n width: currentMarker.getIcon().options.iconSize.x,\n height: currentMarker.getIcon().options.iconSize.y\n }\n },\n geometry: {\n type: 'point',\n x: currentLnglat.lng,\n y: currentLnglat.lat\n },\n geometryType: 'point',\n mapLayer: currentMarker\n };\n //添加点击事件\n currentMarker.on('click', (e) => {\n t.isNotClickMap = true;\n t.clickGraphic(drawParam.data.id, e);\n });\n currentMarker.on('mouseover', (e) => {\n t.mouseOverGraphic(drawParam.data.id, e);\n });\n currentMarker.on('mouseout', (e) => {\n t.mouseOutGraphic(drawParam.data.id, e);\n });\n t.GM.setGraphicParam(drawParam.data.id, backobj);\n if ('drawEnd' in t.props) {\n t.props.drawEnd(backobj);\n }\n });\n break;\n case 'polyline':\n param.color = drawParam.parameter.color;\n param.opacity = drawParam.parameter.pellucidity;\n param.weight = drawParam.parameter.lineWidth;\n if (this.polylineTool) this.polylineTool.close();\n this.polylineTool = new T.PolylineTool(this.state.gis, param);\n this.polylineTool.open();\n this.polylineTool.addEventListener('draw', (ob) => {\n let { type, target, currentLnglats, currentDistance, currentPolyline, allPolylines } = ob;\n let lnglatAry = (currentLnglats || []).map((item, index) => {\n return { lngX: item.lng, latX: item.lat };\n });\n t.GM.setGraphic(drawParam.data.id, currentPolyline);\n let backobj = {\n geometryType: 'polyline',\n distance: currentDistance,\n id: drawParam.data.id,\n attributes: {\n id: drawParam.data.id,\n config: {\n color: currentPolyline.getColor(),\n pellucidity: currentPolyline.getOpacity(),\n lineWidth: currentPolyline.getWeight()\n }\n },\n mapLayer: currentPolyline,\n geometry: {\n type: 'polyline',\n lnglatAry: lnglatAry,\n paths: getMaxMin(currentLnglats).path\n },\n lnglatAry: lnglatAry\n };\n //添加点击事件\n currentPolyline.on('click', (e) => {\n t.isNotClickMap = true;\n t.clickGraphic(drawParam.data.id, e);\n });\n currentPolyline.on('mouseover', (e) => {\n t.mouseOverGraphic(drawParam.data.id, e);\n });\n currentPolyline.on('mouseout', (e) => {\n t.mouseOutGraphic(drawParam.data.id, e);\n });\n t.GM.setGraphicParam(drawParam.data.id, backobj);\n if ('drawEnd' in t.props) {\n t.props.drawEnd(backobj);\n }\n });\n break;\n case 'polygon':\n if (this.polygonTool) this.polygonTool.close();\n this.polygonTool = new T.PolygonTool(this.state.gis, paramgcr);\n this.polygonTool.open();\n this.polygonTool.addEventListener('draw', (ob) => {\n let { type, target, currentLnglats, currentArea, currentPolygon, allPolygons } = ob;\n t.GM.setGraphic(drawParam.data.id, currentPolygon);\n let lnglatAry = (currentLnglats || []).map((item, index) => {\n return { lngX: item.lng, latX: item.lat };\n });\n let backobj = {\n geometryType: 'polygon',\n id: drawParam.data.id,\n attributes: {\n id: drawParam.data.id,\n config: {\n color: currentPolygon.getFillColor(),\n lineColor: currentPolygon.getColor(),\n lineOpacity: currentPolygon.getOpacity(),\n pellucidity: currentPolygon.getFillOpacity(),\n lineWidth: currentPolygon.getWeight()\n }\n },\n mapLayer: currentPolygon,\n geometry: {\n type: 'polygon',\n lnglatAry: lnglatAry,\n rings: getMaxMin(currentLnglats).path,\n _extent: getMaxMin(currentLnglats)._extent,\n area: currentArea\n },\n lnglatAry: lnglatAry,\n area: currentArea\n };\n //添加点击事件\n currentPolygon.on('click', (e) => {\n t.isNotClickMap = true;\n t.clickGraphic(drawParam.data.id, e);\n });\n currentPolygon.on('mouseover', (e) => {\n t.mouseOverGraphic(drawParam.data.id, e);\n });\n currentPolygon.on('mouseout', (e) => {\n t.mouseOutGraphic(drawParam.data.id, e);\n });\n t.GM.setGraphicParam(drawParam.data.id, backobj);\n if ('drawEnd' in t.props) {\n t.props.drawEnd(backobj);\n }\n if (t.frameSelectProps[backobj.id]?.callback instanceof Function) {\n t.frameSelectProps[backobj.id].callback(backobj);\n }\n });\n break;\n case 'circle':\n if (this.circleTool) this.circleTool.close();\n this.circleTool = new T.CircleTool(this.state.gis, paramgcr);\n this.circleTool.open();\n this.circleTool.addEventListener('drawend', (ob) => {\n let { type, target, currentCenter, currentRadius, currentCircle, allCircles } = ob;\n t.GM.setGraphic(drawParam.data.id, currentCircle);\n let area = Math.PI * Math.pow(currentRadius, 2);\n let backobj = {\n geometryType: 'circle',\n id: drawParam.data.id,\n attributes: {\n id: drawParam.data.id,\n config: {\n color: currentCircle.getFillColor(),\n lineColor: currentCircle.getColor(),\n lineOpacity: currentCircle.getOpacity(),\n pellucidity: currentCircle.getFillOpacity(),\n lineWidth: currentCircle.getWeight()\n }\n },\n mapLayer: currentCircle,\n geometry: {\n type: 'circle',\n x: currentCenter.lng,\n y: currentCenter.lat,\n radius: currentRadius,\n area: area\n },\n area: area\n };\n //添加点击事件\n currentCircle.on('click', (e) => {\n t.isNotClickMap = true;\n t.clickGraphic(drawParam.data.id, e);\n });\n currentCircle.on('mouseover', (e) => {\n t.mouseOverGraphic(drawParam.data.id, e);\n });\n currentCircle.on('mouseout', (e) => {\n t.mouseOutGraphic(drawParam.data.id, e);\n });\n t.GM.setGraphicParam(drawParam.data.id, backobj);\n if ('drawEnd' in t.props) {\n t.props.drawEnd(backobj);\n }\n if (t.frameSelectProps[backobj.id]?.callback instanceof Function) {\n t.frameSelectProps[backobj.id].callback(backobj);\n }\n });\n break;\n case 'rectangle':\n if (this.rectangleTool) this.rectangleTool.close();\n this.rectangleTool = new T.RectangleTool(this.state.gis, paramgcr);\n this.rectangleTool.open();\n this.rectangleTool.addEventListener('draw', (ob) => {\n let { type, target, currentBounds, currentRectangle, allRectangles } = ob;\n t.GM.setGraphic(drawParam.data.id, currentRectangle);\n let currentLnglats = [\n currentBounds.getNorthEast(),\n { lng: currentBounds.getSouthWest().lng, lat: currentBounds.getNorthEast().lat },\n currentBounds.getSouthWest(),\n { lng: currentBounds.getNorthEast().lng, lat: currentBounds.getSouthWest().lat }\n ];\n let lnglatAry = (currentLnglats || []).map((item, index) => {\n return { lngX: item.lng, latX: item.lat };\n });\n let area = currentBounds.getNorthEast().distanceTo(\n new T.LngLat(currentBounds.getNorthEast().lng,\n currentBounds.getSouthWest().lat)\n ) * currentBounds.getNorthEast().distanceTo(\n new T.LngLat(currentBounds.getSouthWest().lng,\n currentBounds.getNorthEast().lat)\n );\n let backobj = {\n geometryType: 'polygon',\n id: drawParam.data.id,\n attributes: {\n id: drawParam.data.id,\n config: {\n color: currentRectangle.getFillColor(),\n lineColor: currentRectangle.getColor(),\n lineOpacity: currentRectangle.getOpacity(),\n pellucidity: currentRectangle.getFillOpacity(),\n lineWidth: currentRectangle.getWeight()\n }\n },\n mapLayer: currentRectangle,\n geometry: {\n type: 'polygon',\n lnglatAry: lnglatAry,\n rings: getMaxMin(currentLnglats).path,\n _extent: getMaxMin(currentLnglats)._extent,\n area: area\n },\n lnglatAry: lnglatAry,\n area: area\n };\n //添加点击事件\n currentRectangle.on('click', (e) => {\n t.isNotClickMap = true;\n t.clickGraphic(drawParam.data.id, e);\n });\n currentRectangle.on('mouseover', (e) => {\n t.mouseOverGraphic(drawParam.data.id, e);\n });\n currentRectangle.on('mouseout', (e) => {\n t.mouseOutGraphic(drawParam.data.id, e);\n });\n t.GM.setGraphicParam(drawParam.data.id, backobj);\n if ('drawEnd' in t.props) {\n t.props.drawEnd(backobj);\n }\n if (t.frameSelectProps[backobj.id]?.callback instanceof Function) {\n t.frameSelectProps[backobj.id].callback(backobj);\n }\n });\n break;\n }\n //保存绘制图元的id便于后期比对\n t.state.drawIds[drawParam.geometryType].push(drawParam.data.id);\n }\n //关闭绘制图元\n closeDraw() {\n if (this.markerTool) {\n this.markerTool.close();\n }\n if (this.polylineTool) {\n this.polylineTool.close();\n }\n if (this.polygonTool) {\n this.polygonTool.close();\n }\n if (this.rectangleTool) {\n this.rectangleTool.close();\n }\n if (this.circleTool) {\n this.circleTool.close();\n }\n }\n\n /*根据图元id,使图元变成可编辑状态*/\n doEdit(id) {\n let t = this;\n let ms = t.getGraphic(id);\n if (!ms) {\n return false;\n }\n if (ms.getType === 1) {\n return false;\n }\n if (!!t.state.editId) {\n t.endEdit();\n }\n this.isEditId = id;\n switch (ms.geometryType) {\n case 'point':\n ms.mapLayer.enableDragging();\n // ms.mapLayer.addEventListener('dragend',t.editGraphicChange);\n if (ms.mapLayer.label) {\n ms.mapLayer.addEventListener('drag', t.showLabel);\n }\n break;\n case 'polyline':\n case 'polygon':\n case 'rectangle':\n case 'circle':\n ms.mapLayer.enableEdit();\n break;\n }\n t.setState({\n editId: id\n })\n }\n //关闭编辑\n endEdit() {\n let t = this;\n let ms = t.getGraphic(t.state.editId);\n this.isEditId = null;\n switch (ms.geometryType) {\n case 'point':\n ms.mapLayer.disableDragging();\n // ms.mapLayer.removeEventListener('dragend',t.editGraphicChange);\n if (ms.mapLayer.label) {\n ms.mapLayer.removeEventListener('drag', t.showLabel);\n }\n break;\n case 'polyline':\n case 'polygon':\n case 'rectangle':\n case 'circle':\n ms.mapLayer.disableEdit();\n break;\n }\n // 如果内容不变,就不返回\n if (t.lastGraphic != JSON.stringify(ms.geometry)) {\n t.editGraphicChange(t.state.editId);\n t.lastGraphic = JSON.stringify(ms.geometry);\n }\n t.setState({\n editId: '',\n editGraphic: ''\n })\n }\n showLabel() {\n //这里的this指向调用的 点的对象\n this.showLabel();\n }\n //编辑变动后\n editGraphicChange(id) {\n if (!id) return;\n let t = this;\n let ms = t.getGraphic(id);\n let obj = {\n id: id\n }\n switch (ms.geometryType) {\n case 'point':\n obj.geometry = ms.geometry;\n obj.param = ms;\n break;\n case 'polyline':\n ms.geometry._extent = getMaxMin(ms.mapLayer.getLngLats())._extent;\n obj.geometry = ms.geometry;\n obj.param = ms;\n obj.distance = t.calculateDistance(ms.mapLayer.getLngLats());\n break;\n case 'polygon':\n case 'rectangle':\n ms.geometry._extent = getMaxMin(ms.mapLayer.getLngLats()[0])._extent;\n obj.geometry = ms.geometry;\n obj.param = ms;\n // obj.area = getPolygonArea(ms.mapLayer.getLngLats()[0]);\n // obj.area = t.polygonTool.getArea(ms.mapLayer.getLngLats()[0]);\n // 关闭多边形多个听绘制后,回显报错\n break;\n case 'circle':\n obj.geometry = ms.geometry;\n obj.param = ms;\n obj.area = Math.PI * Math.pow(ms.geometry.radius, 2);\n break;\n }\n t.props.editGraphicChange(obj);\n }\n //删除图元\n removeGraphic(id, type) {\n let t = this;\n if (!!this.GM.getGraphic(id)) {\n //清除聚合点 避免异常\n if (t.clusterObj) {\n t.clusterObj.removeMarker(this.GM.getGraphic(id));\n }\n //清除地图中图元\n this.state.gis.removeOverLay(this.GM.getGraphic(id));\n //删除含 label点的label(天地图的坑)\n if (type === 'point' && this.GM.getGraphic(id).label) {\n this.state.gis.removeOverLay(this.GM.getGraphic(id).getLabel());\n }\n //清除对应id的图元数据缓存\n this.GM.removeGraphic(id);\n this.GM.removeGraphicParam(id);\n } else {\n return false;\n }\n for (let i = 0; i < t.movePoints.length; i++) {\n if (t.movePoints[i].id == id) {\n t.movePoints.splice(i, 1);\n continue;\n }\n }\n //清除 state中id的缓存\n let ids = [];\n switch (type) {\n case 'point':\n ids = t.state.pointIds;\n break;\n case 'line':\n ids = t.state.lineIds;\n break;\n case 'polygon':\n ids = t.state.polygonIds;\n break;\n case 'circle':\n ids = t.state.circleIds;\n break;\n case 'draw':\n if (t.state.drawIds.point.indexOf(id) > -1) {\n t.state.drawIds.point.splice(t.state.drawIds.point.indexOf(id), 1);\n }\n if (t.state.drawIds.polyline.indexOf(id) > -1) {\n t.state.drawIds.polyline.splice(t.state.drawIds.polyline.indexOf(id), 1);\n }\n if (t.state.drawIds.polygon.indexOf(id) > -1) {\n t.state.drawIds.polygon.splice(t.state.drawIds.polygon.indexOf(id), 1);\n }\n if (t.state.drawIds.circle.indexOf(id) > -1) {\n t.state.drawIds.circle.splice(t.state.drawIds.circle.indexOf(id), 1);\n }\n if (t.state.drawIds.rectangle.indexOf(id) > -1) {\n t.state.drawIds.rectangle.splice(t.state.drawIds.rectangle.indexOf(id), 1);\n }\n break;\n default:\n if (t.state.pointIds.indexOf(id) > -1) {\n t.state.pointIds.splice(t.state.pointIds.indexOf(id), 1);\n }\n if (t.state.lineIds.indexOf(id) > -1) {\n t.state.lineIds.splice(t.state.lineIds.indexOf(id), 1);\n }\n if (t.state.polygonIds.indexOf(id) > -1) {\n t.state.polygonIds.splice(t.state.polygonIds.indexOf(id), 1);\n }\n if (t.state.circleIds.indexOf(id) > -1) {\n t.state.circleIds.splice(t.state.circleIds.indexOf(id), 1);\n }\n break;\n }\n if (id == t.state.editId) {\n t.state.editId = '';\n }\n if (ids.indexOf(id) != -1) {\n ids.splice(ids.indexOf(id), 1);\n }\n }\n //点击图元事件\n clickGraphic(id, e) {\n let t = this;\n if (typeof (t.props.clickGraphic) === \"function\") {\n let param = t.getGraphic(id);\n let obj = {\n param,\n type: param.geometry.type,//图元类型\n attributes: { ...param.attributes.other, ...{ config: param.attributes.config } },//添加时图元信息\n top: e.containerPoint.y + t.mapTop,//当前点所在的位置(屏幕)\n left: e.containerPoint.x + t.mapLeft,\n e: e\n }\n t.props.clickGraphic(obj);\n }\n }\n //图元鼠标悬浮事件\n mouseOverGraphic(id, e) {\n let t = this;\n if (typeof (t.props.mouseOverGraphic) === 'function') {\n if (id === t.isEditId) {\n return false;\n }\n let obj = {\n e, id,\n param: t.getGraphic(id),\n top: e.containerPoint.y + t.mapTop,//当前点所在的位置(屏幕)\n left: e.containerPoint.x + t.mapLeft,\n }\n t.props.mouseOverGraphic(obj);\n }\n }\n //图元鼠标移开事件\n mouseOutGraphic(id, e) {\n let t = this;\n if (typeof (t.props.mouseOutGraphic) === \"function\") {\n if (id === t.isEditId) {\n return false;\n }\n let obj = {\n e, id,\n param: t.getGraphic(id),\n top: e.containerPoint.y + t.mapTop,//当前点所在的位置(屏幕)\n left: e.containerPoint.x + t.mapLeft,\n }\n t.props.mouseOutGraphic(obj);\n }\n }\n //拖拽地图开始\n dragMapStart() {\n let t = this;\n if (typeof (t.props.dragMapStart) === \"function\") {\n t.state.gis.addEventListener('dragstart', function (e) {\n let obj = t.getMapExtent();\n obj.e = e;\n //处理下数据,符合拖拽事件\n t.props.dragMapStart(obj);\n });\n }\n }\n //拖拽地图结束事件\n dragMapEnd() {\n let t = this;\n if (typeof (t.props.dragMapEnd) === \"function\") {\n t.state.gis.addEventListener('dragend', function (e) {\n let obj = t.getMapExtent();\n obj.e = e;\n //处理下数据,符合拖拽事件\n t.props.dragMapEnd(obj);\n });\n }\n }\n //地图移动开始事件\n moveStart() {\n let t = this;\n if (typeof (t.props.moveStart) === \"function\") {\n t.state.gis.addEventListener('movestart', function (e) {\n if (!t.isZoom) {\n let obj = t.getMapExtent();\n obj.e = e;\n //处理下数据,符合拖拽事件\n t.props.moveStart(obj);\n }\n });\n }\n }\n //地图移动结束事件\n moveEnd() {\n let t = this;\n if (typeof (t.props.moveEnd) === \"function\") {\n t.state.gis.addEventListener('moveend', function (e) {\n let xylist = [], mapPane = t.state.gis.getPanes().mapPane;\n if (mapPane.style.top) {\n xylist = [mapPane.style.left, mapPane.style.top];\n } else {\n let matchList = mapPane.style.transform.match(/translate\\((-?\\d*)+px,\\s*(-?\\d*)+px\\)/)\n || mapPane.style.transform.match(/translate3d\\((-?\\d*)+px,\\s*(-?\\d*)+px,\\s*(-?\\d*)+px\\)/)\n || [];\n xylist = [matchList[1], matchList[2]];\n }\n //重画海量点\n $(`#${t.pointCollectionId}`).css({\n top: `${-xylist[1]}px`,\n left: `${-xylist[0]}px`\n })\n if (t.morepoints.length > 0) {\n t.updatePointCollection(t.props.mapPointCollection);\n }\n if (t.isZoom) {\n t.isZoom = false;\n } else {\n let obj = t.getMapExtent();\n obj.e = e;\n //处理下数据,符合拖拽事件\n t.props.moveEnd(obj);\n }\n });\n }\n }\n //地图更改缩放级别开始时触发触发此事件\n zoomStart() {\n let t = this;\n if (typeof (t.props.zoomStart) === \"function\") {\n t.state.gis.addEventListener('zoomstart', function (e) {\n if (t.heatmap && !t.isHideHeatMap) {\n t.heatmap.hide();\n }\n $(`#${t.pointCollectionId}`).css({ display: 'none' });\n t.isZoom = true;\n let obj = t.getMapExtent();\n obj.e = e;\n t.props.zoomStart(obj);\n });\n }\n }\n //地图更改缩放级别结束时触发触发此事件\n zoomEnd() {\n let t = this;\n if (typeof (t.props.zoomEnd) === \"function\") {\n t.state.gis.addEventListener('zoomend', function (e) {\n //重画热力图\n if (t.heatmap && !t.isHideHeatMap) {\n t.heatmap.show();\n t.heatmap.draw();\n }\n //重画海量点\n $(`#${t.pointCollectionId}`).css({ display: 'inline-block' });\n if (t.morepoints.length > 0) {\n t.updatePointCollection(t.props.mapPointCollection);\n }\n //避免zoom切换后,chrome的旋转角度被替换\n for (let i in t.GM.allParam) {\n if (t.GM.allParam[i].geometryType == 'point' && t.GM.allParam[i].deg) {\n t.GM.getGraphic(i).getElement().style.transform =\n t.GM.getGraphic(i).getElement().style.transform + ` rotate(${t.GM.allParam[i].deg}deg)`;\n }\n }\n let obj = t.getMapExtent();\n obj.e = e;\n t.props.zoomEnd(obj);\n });\n }\n }\n //地图点击事件\n clickMap() {\n let t = this;\n if (typeof (t.props.clickMap) === \"function\") {\n t.state.gis.addEventListener('click', function (e) {\n if (t.isNotClickMap) {\n t.isNotClickMap = false;\n } else {\n let obj = t.getMapExtent();\n obj.e = e;\n obj.clickLngLat = e.lnglat;\n obj.pixel = e.containerPoint;\n t.props.clickMap(obj);\n }\n });\n }\n }\n //点的跳动动画\n pointAnimation(id, marker) {\n let t = this;\n //null时关闭跳动\n if (!!marker) {\n if (t.animTimer[id]) {\n clearInterval(t.animTimer[id]);\n }\n t.animTimer[id] = setInterval(() => {\n //点被隐藏时,没有执行,定时不关\n if (marker.getIcon()) {\n let shape = { ...marker.getIcon().getIconAnchor() };\n //初始数据 点位有变动,重新刷新数据\n if (!t.animCount[id] || shape.y != t.animCount[id].now) {\n t.animCount[id] = {\n start: shape.y,\n now: shape.y,\n notation: -1\n };\n }\n if (t.animCount[id].now - t.animCount[id].start == 20) {\n t.animCount[id].notation = -1;\n }\n if (t.animCount[id].now - t.animCount[id].start == 0) {\n t.animCount[id].notation = 1;\n }\n shape.y = t.animCount[id].now = (t.animCount[id].now + (t.animCount[id].notation) * 2);\n marker.getIcon().setIconAnchor(shape);\n }\n }, 35);\n } else {\n clearInterval(t.animTimer[id]);\n }\n }\n moveAnimation() {\n let t = this;\n if (t.moveToTimer) {\n clearInterval(t.moveToTimer);\n }\n t.moveToTimer = setInterval(() => {\n for (let i = 0; i < t.movePoints.length; i++) {\n t.movePoints[i].waitTime += this.timer;\n t.movePoints[i].deleteTime -= this.timer;\n }\n t.movePoints.sort((x, y) => {\n return y.waitTime - x.waitTime;\n });\n let nowMovePoints = t.movePoints.slice(0, 10), deleteIndex = [];\n for (let i = 0; i < nowMovePoints.length; i++) {\n let { id, oleLng, oldLat, rx, ry, deleteTime, totalTime, ddeg } = nowMovePoints[i];\n let gc = t.GM.getGraphic(id);\n if (!gc) {\n clearInterval(t.moveToTimer[id]);\n } else {\n let tx = oleLng + rx * ((totalTime - deleteTime) / this.timer),\n ty = oldLat + ry * ((totalTime - deleteTime) / this.timer);\n let lglt = new T.LngLat(tx, ty);\n if (t.movePoints[i].url) {\n gc.getIcon().setIconUrl(t.movePoints[i].url);\n }\n gc.setLngLat(lglt);\n t.GM.setGraphicParam(id, { ...t.GM.getGraphicParam(id), deg: ddeg });\n //旋转角度\n gc.getElement().style.transform = gc.getElement().style.transform + ` rotate(${ddeg}deg)`;\n gc.getElement().style['-ms-transform'] = ` rotate(${ddeg}deg)`;\n if (gc.label) {\n gc.showLabel();\n }\n // 移动过的 放后面再动\n t.movePoints[i].waitTime = 0;\n if (deleteTime <= 0) {\n deleteIndex.push(i);\n }\n }\n }\n deleteIndex.sort((a, b) => { return b - a });\n for (let i = 0; i < deleteIndex.length; i++) {\n t.movePoints.splice(deleteIndex[i], 1);\n }\n if (nowMovePoints.length == 0) {\n clearInterval(t.moveToTimer);\n }\n }, 10);\n }\n /*公共方法*/\n moveTo(id, lnglat, delay, autoRotation, urlright, urlleft) {\n delay = delay || 3;\n let t = this;\n delay = eval(delay) * 1000;\n let count = delay / this.timer,\n gc = this.GM.getGraphic(id);\n let s = gc.getLngLat(), e = new T.LngLat(lnglat[0], lnglat[1]);\n if (s.equals(e)) {\n return false;\n } else {\n let ddeg = 0, url = null;\n //计算角度,旋转\n if (autoRotation) {\n //自己实现旋转\n ddeg = t.rotateDeg(gc.getLngLat(), lnglat);\n if (urlleft && (ddeg < -90 && ddeg > -270)) {\n ddeg += 180;\n url = urlleft;\n } else {\n url = urlright;\n }\n }\n //拆分延迟移动定位\n let rx = (e.lng - s.lng) / count, ry = (e.lat - s.lat) / count;\n let isHave = false;\n for (let i = 0; i < t.movePoints.length; i++) {\n if (t.movePoints[i].id == id) {\n t.movePoints.splice(i, 1, {\n oleLng: s.lng,\n oldLat: s.lat,\n id, rx, ry, ddeg, url,\n waitTime: 0,\n totalTime: delay,\n deleteTime: delay\n });\n isHave = true;\n }\n }\n if (!isHave) {\n t.movePoints.push({\n oleLng: s.lng,\n oldLat: s.lat,\n id, rx, ry, ddeg, url,\n waitTime: 0,\n totalTime: delay,\n deleteTime: delay\n });\n }\n }\n }\n //点位角度旋转(以指向东(右)为0°)\n rotateDeg(sp, ep) {\n let t = this;\n let spLngLat = sp;\n if (Array.isArray(sp)) {\n spLngLat = new AMap.LngLat(sp[0], sp[1]);\n }\n let s = t.state.gis.lngLatToLayerPoint(spLngLat),\n //获取当前点位的经纬度\n e = t.state.gis.lngLatToLayerPoint(new T.LngLat(ep[0], ep[1])),\n deg = 0;\n if (e.x != s.x) {\n var tan = (e.y - s.y) / (e.x - s.x),\n atan = Math.atan(tan);\n deg = atan * 360 / (2 * Math.PI);\n //degree correction;\n if (e.x < s.x) {\n deg = -deg + 90 + 90;\n\n } else {\n deg = -deg;\n }\n deg = -deg;\n } else {\n var disy = e.y - s.y;\n var bias = 0;\n if (disy > 0)\n bias = -1;\n else\n bias = 1;\n if (disy == 0)\n bias = 0;\n deg = -bias * 90;\n }\n return deg;\n }\n //对比对象数据是否相等\n deepEqual(a, b) {\n return Immutable.is(Immutable.fromJS(a), Immutable.fromJS(b));\n }\n //计算2点间距离 单位m 精确到个位\n calculatePointsDistance(f, s) {\n let lnglat1 = new T.LngLat(f[0], f[1]);\n let lnglat2 = new T.LngLat(s[0], s[1]);\n return Math.round(lnglat1.distanceTo(lnglat2));\n }\n calculateDistance(ps) {\n let t = this, totalDistance = 0;\n if (ps.length < 0) { return false; }\n for (let i = 0; i < ps.length; i++) {\n if (i < ps.length - 1) {\n if ('distanceTo' in ps[i]) {\n totalDistance += ps[i].distanceTo(ps[i + 1]);\n } else {\n totalDistance += new T.LngLat(ps[i][0], ps[i][1]).distanceTo(new T.LngLat(ps[i + 1][0], ps[i + 1][1]));\n }\n }\n }\n return Math.round(totalDistance * 100) / 100;\n }\n //数据解析(分析,新增,更新,删除对应的数据)\n dataMatch(oldData, newData, type) {\n let onlyOldData = Set(oldData).subtract(Set(newData)).toJS();\n let onlyNewData = Set(newData).subtract(Set(oldData)).toJS();\n let onlyOldIDs = onlyOldData.map(item => item[type]);\n let onlyNewIDs = onlyNewData.map(item => item[type]);\n let updateDataIDs = Set(onlyOldIDs).intersect(Set(onlyNewIDs)).toJS();\n let updatedData = onlyNewData.filter(item => updateDataIDs.indexOf(item[type]) > -1);\n let replacedData = onlyOldData.filter(item => updateDataIDs.indexOf(item[type]) > -1);\n let deletedDataIDs = onlyOldIDs.filter(oldID => updateDataIDs.indexOf(oldID) == -1);\n let addedData = onlyNewData.filter(item => updateDataIDs.indexOf(item[type]) == -1)\n\n return { deletedDataIDs, addedData, updatedData, replacedData };\n }\n //处理需要增加图元的数据(避免意外问题)\n dealAdd(ary, ids) {\n let ads = [], otherupds = [];\n for (let i = 0; i < ary.length; i++) {\n if (ids.indexOf(ary[i].id) > -1) {\n otherupds.push(ary[i]);\n } else {\n ads.push(ary[i]);\n }\n }\n return { ads, otherupds };\n }\n //处理需要更新图元的数据(避免意外问题)\n dealUpdate(ary, ids) {\n let upds = [], otherads = [];\n for (let i = 0; i < ary.length; i++) {\n if (ids.indexOf(ary[i].id) > -1) {\n upds.push(ary[i]);\n } else {\n otherads.push(ary[i]);\n }\n }\n return { upds, otherads };\n }\n searchPoints(searchValue, pageSize = 10, pageIndex = 1) {\n let t = this;\n return new Promise((resolve) => {\n let searchConfig = {\n pageCapacity: pageSize * pageIndex, //每页显示的数量\n //接收数据的回调函数\n onSearchComplete: (result) => {\n if (!result.pois) {\n resolve([]);;\n } else {\n let list = result.pois.map((r) => {\n let lnglat = {};\n if (r.lonlat.indexOf(\",\") > -1) {\n lnglat = {\n longitude: r.lonlat.split(',')[0],\n latitude: r.lonlat.split(',')[1],\n }\n } else {\n lnglat = {\n longitude: r.lonlat.split(' ')[0],\n latitude: r.lonlat.split(' ')[1],\n }\n }\n return {\n id: r.hotPointID,\n ...lnglat,\n canShowLabel: true,\n config: {\n labelContent: r.name,\n labelPixelY: 27\n },\n other: 'search'\n }\n })\n resolve(list);\n }\n }\n };\n //创建搜索对象\n let localsearch = new T.LocalSearch(t.state.gis, searchConfig);\n localsearch.search(searchValue);\n });\n\n }\n render() {\n let t = this;\n return (\n <div id={t.props.mapId} style={{ width: '100%', height: '100%', zIndex: '1' }}></div>\n );\n }\n componentDidMount() {\n let t = this;\n this.loadMapComplete.then(() => {\n t.mapLeft = document.getElementById(t.props.mapId).offsetLeft;\n t.mapTop = document.getElementById(t.props.mapId).offsetTop;\n t.init();\n //初始化完成后,再走更新\n t.isLoading = true;\n })\n }\n componentDidUpdate(prevProps, prevState) {//重新渲染结束\n let t = this;\n }\n UNSAFE_componentWillReceiveProps(nextProps, prevProps) {//已加载组件,收到新的参数时调用\n let t = this;\n let receive = () => {\n //点/线旧数据\n let { pointIds, lineIds, polygonIds, circleIds, drawIds } = t.state;\n let { point, polyline, polygon, circle, rectangle } = drawIds;\n //点/线新数据\n let {\n mapPoints = [], mapLines = [], mapPolygons = [], mapCircles = [], customizedBoundary = [],\n isOpenTrafficInfo, boundaryName, heatMapData, imageOverlays,\n mapVisiblePoints, setVisiblePoints,\n setCenter, mapCenter,\n setZoomLevel, mapZoomLevel,\n setCluster, mapCluster,\n isRangingTool, mapRangingTool,\n isRemove, mapRemove,\n mapDraw, isDraw, isCloseDraw,\n editGraphicId, isDoEdit, isEndEdit,\n mapPointCollection, isclearAllPointCollection,\n isClearAll, mapStyle,\n isSetAreaRestriction, areaRestriction, isClearAreaRestriction,\n coverageType,\n infoWindowData\n } = nextProps;\n\n // 等待地图加载\n if (!t.mapCreated) return;\n // 设置地图样式\n if (!t.deepEqual(mapStyle, t.props.mapStyle)) {\n if (mapStyle) {\n t.state.gis.setStyle(mapStyle);\n } else {\n t.state.gis.removeStyle();\n }\n }\n // 切换地图矢量图和卫星图背景\n if (coverageType && !t.deepEqual(coverageType, t.props.coverageType)) {\n t.setMapType(coverageType);\n }\n /*添加海量点*/\n if (mapPointCollection instanceof Array && t.props.mapPointCollection instanceof Array && !t.deepEqual(mapPointCollection, t.props.mapPointCollection)) {\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(t.props.mapPointCollection, mapPointCollection, 'id');\n t.clearPointCollection(deletedDataIDs);\n t.addPointCollection(addedData);\n t.updatePointCollection(updatedData);\n }\n if ((typeof (isclearAllPointCollection) == 'boolean' && isclearAllPointCollection) || (isclearAllPointCollection && isclearAllPointCollection !== t.props.isclearAllPointCollection)) {\n t.clearAllPointCollection();\n }\n\n /*点数据处理\n pointData[2]相同的点,执行刷新\n pointData[1]的数据在idsForGraphicId中不存在的,执行新增\n pointData[0]数据中多余的id,执行删除\n */\n if (mapPoints instanceof Array && t.props.mapPoints instanceof Array && !t.deepEqual(mapPoints, t.props.mapPoints)) {\n let oldMapPoints = t.props.mapPoints;\n let newMapPoints = mapPoints;\n //过滤编辑的图元\n if (!!t.state.editId) {\n oldMapPoints = t.props.mapPoints.filter((item) => { return item.id !== editGraphicId });\n newMapPoints = mapPoints.filter((item) => { return item.id !== editGraphicId });\n }\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapPoints, newMapPoints, 'id');\n let { ads, otherupds } = t.dealAdd(addedData, [...pointIds, ...point]);\n let { upds, otherads } = t.dealUpdate(updatedData, [...pointIds, ...point]);\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for (let id of deletedDataIDs) {\n t.removeGraphic(id, 'point');\n }\n //增加\n t.addPoint([...ads, ...otherads]);\n //更新\n t.updatePoint([...upds, ...otherupds]);\n }\n /*\n 面数据处理\n 先全删除,再新增\n */\n if (mapPolygons instanceof Array && t.props.mapPolygons instanceof Array && !t.deepEqual(mapPolygons, t.props.mapPolygons)) {\n let oldMapPolygons = t.props.mapPolygons;\n let newMapPolygons = mapPolygons;\n if (!!t.state.editId) {\n oldMapPolygons = t.props.mapPolygons.filter((item) => { return item.id !== editGraphicId });\n newMapPolygons = mapPolygons.filter((item) => { return item.id !== editGraphicId });\n }\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapPolygons, newMapPolygons, 'id');\n let { ads, otherupds } = t.dealAdd(addedData, [...rectangle, ...polygon, ...polygonIds]);\n let { upds, otherads } = t.dealUpdate(updatedData, [...rectangle, ...polygon, ...polygonIds]);\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for (let id of deletedDataIDs) {\n t.removeGraphic(id, 'polygon');\n }\n //增加\n t.addPolygon([...ads, ...otherads]);\n //更新\n t.updatePolygon([...upds, ...otherupds]);\n }\n /*\n 圆数据处理\n 先全删除,再新增\n */\n if (mapCircles instanceof Array && t.props.mapCircles instanceof Array && !t.deepEqual(mapCircles, t.props.mapCircles)) {\n let oldMapCircles = t.props.mapCircles;\n let newMapCircles = mapCircles;\n if (!!t.state.editId) {\n oldMapCircles = t.props.mapCircles.filter((item) => { return item.id !== editGraphicId });\n newMapCircles = mapCircles.filter((item) => { return item.id !== editGraphicId });\n }\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapCircles, newMapCircles, 'id');\n let { ads, otherupds } = t.dealAdd(addedData, [...circleIds, ...circle]);\n let { upds, otherads } = t.dealUpdate(updatedData, [...circleIds, ...circle]);\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for (let id of deletedDataIDs) {\n t.removeGraphic(id, 'circle');\n }\n //增加\n t.addCircle([...ads, ...otherads]);\n //更新\n t.updateCircle([...upds, ...otherupds]);\n }\n /*\n 线数据处理\n 先全删除,再新增\n */\n if (mapLines instanceof Array && t.props.mapLines instanceof Array && !t.deepEqual(mapLines, t.props.mapLines)) {\n let oldMapLines = t.props.mapLines;\n let newMapLines = mapLines;\n if (!!t.state.editId) {\n oldMapLines = t.props.mapLines.filter((item) => { return item.id !== editGraphicId });\n newMapLines = mapLines.filter((item) => { return item.id !== editGraphicId });\n }\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(oldMapLines, newMapLines, 'id');\n let { ads, otherupds } = t.dealAdd(addedData, [...lineIds, ...polyline]);\n let { upds, otherads } = t.dealUpdate(updatedData, [...lineIds, ...polyline]);\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for (let id of deletedDataIDs) {\n t.removeGraphic(id, 'line');\n }\n //增加\n t.addLine([...ads, ...otherads]);\n //更新\n t.updateLine([...upds, ...otherupds]);\n }\n //画其他特例线专用\n if (customizedBoundary instanceof Array && t.props.customizedBoundary instanceof Array && !t.deepEqual(customizedBoundary, t.props.customizedBoundary)) {\n let { deletedDataIDs, addedData, updatedData } = t.dataMatch(t.props.customizedBoundary, customizedBoundary, 'id');\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for (let id of deletedDataIDs) {\n t.removeGraphic(id, 'line');\n }\n t.updateLine(updatedData);\n t.addLine(addedData);\n }\n // //绘制边界线\n // if(boundaryName instanceof Array && !t.deepEqual(boundaryName,t.props.boundaryName)){\n // let newBDName = Set(boundaryName);\n // let oldBDName = Set(t.props.boundaryName);\n // let removedBoundaryName = oldBDName.subtract(newBDName).toJS();\n // let addedBoundaryName = newBDName.subtract(oldBDName).toJS();\n // t.removeBaiduBoundary(removedBoundaryName);\n // t.addBaiduBoundary(addedBoundaryName);\n // }\n // 获取热力图\n if (heatMapData && !t.deepEqual(heatMapData, t.props.heatMapData)) {\n t.heatMapOverlay(heatMapData);\n }\n // 打开信息窗体\n if (infoWindowData && !t.deepEqual(infoWindowData, t.props.infoWindowData)) {\n t.infoWindow(infoWindowData);\n }\n //添加图片图层\n if (imageOverlays instanceof Array && !t.deepEqual(imageOverlays, t.props.imageOverlays)) {\n t.imageUrlOverlay(imageOverlays);\n }\n //图元编辑调用\n if ((typeof (isDoEdit) == 'boolean' && isDoEdit) || (isDoEdit && isDoEdit !== t.props.isDoEdit)) {\n t.doEdit(editGraphicId);\n }\n //是否关闭图元编辑\n if ((typeof (isEndEdit) == 'boolean' && isEndEdit) || (isEndEdit && isEndEdit !== t.props.isEndEdit)) {\n t.endEdit();\n }\n /*设置指定图元展示*/\n if ((typeof (setVisiblePoints) == 'boolean' && setVisiblePoints) || (setVisiblePoints && setVisiblePoints !== t.props.setVisiblePoints)) {\n t.setVisiblePoints(mapVisiblePoints);\n }\n //绘制图元\n if ((typeof (isDraw) == 'boolean' && isDraw) || (isDraw && isDraw !== t.props.isDraw)) {\n t.draw(mapDraw);\n }\n //关闭绘制\n if ((typeof (isCloseDraw) == 'boolean' && isCloseDraw) || (isCloseDraw && isCloseDraw !== t.props.isCloseDraw)) {\n t.closeDraw();\n }\n //清空地图\n if ((typeof (isClearAll) == 'boolean' && isClearAll) || (isClearAll && isClearAll !== t.props.isClearAll)) {\n t.clearAll();\n }\n //设置中心点\n if ((typeof (setCenter) == 'boolean' && setCenter) || (setCenter && setCenter !== t.props.setCenter)) {\n if (!(t.getCurrentCenter().lng == mapCenter[0] && t.getCurrentCenter().lat == mapCenter[1])) {\n t.setCenter(mapCenter);\n }\n }\n //设置比例尺\n if ((typeof (setZoomLevel) == 'boolean' && setZoomLevel) || (setZoomLevel && setZoomLevel !== t.props.setZoomLevel)) {\n if (!(t.getZoomLevel() == mapZoomLevel)) {\n t.setZoomLevel(mapZoomLevel);\n }\n }\n // //是否打开路况\n // if(isOpenTrafficInfo){\n // t.openTrafficInfo();\n // }else{\n // t.hideTrafficInfo();\n // }\n //设置点聚合\n if ((typeof (setCluster) == 'boolean' && setCluster) || (setCluster && setCluster !== t.props.setCluster)) {\n t.cluster(mapCluster);\n }\n // 清除聚合\n if (!setCluster && setCluster !== t.props.setCluster) {\n t.removeCluster(mapCluster);\n }\n //测距工具调用\n if ((typeof (isRangingTool) == 'boolean' && isRangingTool) || (isRangingTool && isRangingTool !== t.props.isRangingTool)) {\n t.vtxRangingTool();\n }\n //单独删除操作\n if ((typeof (isRemove) == 'boolean' && isRemove) || (isRemove && isRemove !== t.props.isRemove)) {\n mapRemove.map((item, index) => {\n t.removeGraphic(item.id, item.type);\n });\n }\n //设置区域限制\n if ((typeof (isSetAreaRestriction) == 'boolean' && isSetAreaRestriction)\n || (isSetAreaRestriction && isSetAreaRestriction !== t.props.isSetAreaRestriction)\n && areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]) {\n t.setAreaRestriction(areaRestriction);\n }\n //关闭区域限制\n if ((typeof (isClearAreaRestriction) == 'boolean' && isClearAreaRestriction) || (isClearAreaRestriction && isClearAreaRestriction !== t.props.isClearAreaRestriction)) {\n t.clearAreaRestriction();\n }\n }\n if (t.waitReceive) {\n clearInterval(t.waitReceive);\n }\n //等等天地图初始化\n if (t.isLoading) {\n receive();\n } else {\n t.waitReceive = setInterval(() => {\n if (t.isLoading) {\n clearInterval(t.waitReceive);\n receive();\n }\n }, 100);\n }\n\n // 比例尺控件位置改变\n if (nextProps.showControl && JSON.stringify(nextProps.showControl) != JSON.stringify(t.props.showControl)) {\n t.showControl(nextProps);\n }\n // 比例尺移除\n if (!nextProps.showControl) {\n t.removeControl();\n }\n // 地图类型控件位置改变\n if (nextProps.satelliteSwitch && JSON.stringify(nextProps.satelliteSwitch) != JSON.stringify(t.props.satelliteSwitch)) {\n t.showMapTypeControl(nextProps);\n }\n }\n componentWillUnmount() {\n //关闭moveTo定时\n let t = this;\n if (t.moveToTimer) {\n clearInterval(t.moveToTimer);\n }\n if (t.waitReceive) {\n clearInterval(t.waitReceive);\n }\n if (t.waitInit) {\n clearInterval(t.waitInit);\n }\n //关闭animation定时\n for (let j in t.animTimer) {\n if (t.animTimer[j]) {\n clearInterval(t.animTimer[j]);\n }\n }\n if (window.VtxMap && window.VtxMap[t.state.mapId])\n window.VtxMap[t.state.mapId] = null;\n }\n}\nexport default TMap;\n"],"mappings":"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","ignoreList":[]}