@vtx/map 1.2.29 → 6.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 (88) hide show
  1. package/README.md +44 -44
  2. package/lib/VtxMap/AMap/AMap.js +359 -355
  3. package/lib/VtxMap/BMap/Map.js +331 -330
  4. package/lib/VtxMap/BMap/Map1.js +1712 -0
  5. package/lib/VtxMap/GMap/Map.js +432 -427
  6. package/lib/VtxMap/Map.js +31 -27
  7. package/lib/VtxMap/MapToolFunction.js +6 -7
  8. package/lib/VtxMap/OMap/Map.js +410 -405
  9. package/lib/VtxMap/OMap/Map.less +70 -70
  10. package/lib/VtxMap/OlMap/Map.js +450 -440
  11. package/lib/VtxMap/OlMap/Map.less +230 -230
  12. package/lib/VtxMap/TMap/TMap.js +321 -318
  13. package/lib/VtxMap/index.js +10 -11
  14. package/lib/VtxMap/mapPlayer.js +15 -16
  15. package/lib/VtxMap/optimizingPointMap.js +35 -33
  16. package/lib/VtxMap/style/index.js +1 -2
  17. package/lib/VtxMap/zoomMap.js +24 -23
  18. package/lib/VtxModal/VtxModal.js +94 -82
  19. package/lib/VtxModal/VtxModal.less +83 -52
  20. package/lib/VtxModal/draggableModal.js +35 -33
  21. package/lib/VtxModal/index.js +6 -7
  22. package/lib/VtxModal/style/index.js +1 -15
  23. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js +265 -244
  24. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.less +69 -43
  25. package/lib/VtxSearchCheckMap/index.js +4 -9
  26. package/lib/VtxSearchCheckMap/mapping.js +1 -2
  27. package/lib/VtxSearchCheckMap/style/index.js +5 -11
  28. package/lib/VtxSearchMap/VtxSearchMap.js +326 -288
  29. package/lib/VtxSearchMap/VtxSearchMap.less +74 -47
  30. package/lib/VtxSearchMap/VtxSearchMapAntd3.less +1 -1
  31. package/lib/VtxSearchMap/index.js +4 -9
  32. package/lib/VtxSearchMap/mapping.js +1 -2
  33. package/lib/VtxSearchMap/style/index.js +1 -28
  34. package/lib/default.js +44 -20
  35. package/lib/index.js +30 -31
  36. package/lib/utils/util.js +3 -4
  37. package/package.json +19 -27
  38. package/lib/VtxMap/AMap/AMap.css +0 -27
  39. package/lib/VtxMap/AMap/AMap.js.map +0 -1
  40. package/lib/VtxMap/BMap/Map.css +0 -26
  41. package/lib/VtxMap/BMap/Map.js.map +0 -1
  42. package/lib/VtxMap/GMap/Map.css +0 -88
  43. package/lib/VtxMap/GMap/Map.js.map +0 -1
  44. package/lib/VtxMap/Map.css +0 -7
  45. package/lib/VtxMap/Map.js.map +0 -1
  46. package/lib/VtxMap/MapToolFunction.js.map +0 -1
  47. package/lib/VtxMap/OMap/Map.css +0 -76
  48. package/lib/VtxMap/OMap/Map.js.map +0 -1
  49. package/lib/VtxMap/OlMap/Map.css +0 -229
  50. package/lib/VtxMap/OlMap/Map.js.map +0 -1
  51. package/lib/VtxMap/TMap/TMap.css +0 -31
  52. package/lib/VtxMap/TMap/TMap.js.map +0 -1
  53. package/lib/VtxMap/index.js.map +0 -1
  54. package/lib/VtxMap/mapPlayer.js.map +0 -1
  55. package/lib/VtxMap/optimizingPointMap.js.map +0 -1
  56. package/lib/VtxMap/style/css.js +0 -10
  57. package/lib/VtxMap/style/css.js.map +0 -1
  58. package/lib/VtxMap/style/index.js.map +0 -1
  59. package/lib/VtxMap/zoomMap.js.map +0 -1
  60. package/lib/VtxModal/VtxModal.css +0 -62
  61. package/lib/VtxModal/VtxModal.js.map +0 -1
  62. package/lib/VtxModal/VtxModalAntd3.css +0 -62
  63. package/lib/VtxModal/VtxModalAntd3.less +0 -67
  64. package/lib/VtxModal/draggableModal.js.map +0 -1
  65. package/lib/VtxModal/index.js.map +0 -1
  66. package/lib/VtxModal/style/css.js +0 -15
  67. package/lib/VtxModal/style/css.js.map +0 -1
  68. package/lib/VtxModal/style/index.js.map +0 -1
  69. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.css +0 -182
  70. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js.map +0 -1
  71. package/lib/VtxSearchCheckMap/VtxSearchCheckMapAntd3.css +0 -0
  72. package/lib/VtxSearchCheckMap/VtxSearchCheckMapAntd3.less +0 -1
  73. package/lib/VtxSearchCheckMap/index.js.map +0 -1
  74. package/lib/VtxSearchCheckMap/mapping.js.map +0 -1
  75. package/lib/VtxSearchCheckMap/style/css.js +0 -28
  76. package/lib/VtxSearchCheckMap/style/css.js.map +0 -1
  77. package/lib/VtxSearchCheckMap/style/index.js.map +0 -1
  78. package/lib/VtxSearchMap/VtxSearchMap.css +0 -202
  79. package/lib/VtxSearchMap/VtxSearchMap.js.map +0 -1
  80. package/lib/VtxSearchMap/VtxSearchMapAntd3.css +0 -0
  81. package/lib/VtxSearchMap/index.js.map +0 -1
  82. package/lib/VtxSearchMap/mapping.js.map +0 -1
  83. package/lib/VtxSearchMap/style/css.js +0 -28
  84. package/lib/VtxSearchMap/style/css.js.map +0 -1
  85. package/lib/VtxSearchMap/style/index.js.map +0 -1
  86. package/lib/default.js.map +0 -1
  87. package/lib/index.js.map +0 -1
  88. package/lib/utils/util.js.map +0 -1
@@ -1 +0,0 @@
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":[]}