@vtx/map 1.1.48 → 1.1.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"AMap.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_default2","obj","__esModule","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","iter","len","arr2","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","_toPropertyKey","configurable","writable","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","arg","_toPrimitive","_typeof","String","input","hint","prim","toPrimitive","undefined","res","Number","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","getPrototypeOf","Set","Immutable","VortexAMap","_React$Component","_super","_this","GM","graphicManage","getPolygonArea","pointCollectionId","morepoints","htmlXY","x","y","px","py","isCount","stopMove","mapLeft","mapTop","clusterObj","trafficLayer","scale","tool","ruler","mousetool","districeSearch","polyEdit","circleEdit","editTimeout","heatmap","satellite","roadNet","csr","navigator","userAgent","toLowerCase","state","gis","mapId","mapCreated","pointIds","lineIds","polygonIds","circleIds","editId","editGraphic","mapZoomLevel","boundaryInfo","drawIds","point","polyline","polygon","circle","rectangle","AnchorConstant","tr","tl","bl","br","frameSelectProps","loadMapJs","loadMapComplete","Promise","resolve","reject","window","AMap","$","getScript","concat","configUrl","mapServerURL","PointCollection","all","then","setTime","allEvents","isLoading","setTimeout","init","_t$props","mapPoints","mapLines","mapPolygons","mapCircles","imageOverlays","setVisiblePoints","mapVisiblePoints","mapCenter","mapCluster","mapPointCollection","showControl","boundaryName","heatMapData","areaRestriction","coverageType","infoWindowData","setMapType","createMap","setCenter","addPoint","addLine","addPolygon","addCircle","imageUrlOverlay","setZoomLevel","cluster","satelliteSwitch","showMapTypeControl","addBaiduBoundary","showGraphicById","hideGraphicById","setAreaRestriction","heatMapOverlay","infoWindow","addPointCollection","dragMapStart","dragMapEnd","moveStart","moveEnd","zoomStart","zoomEnd","clickMap","setState","divId","_t$props2","viewMode","mapStyle","minZoom","maxZoom","VtxMap","Map","resizeEnable","zoom","center","zooms","setMapStyle","MarkerClusterer","offsetS","Pixel","offsetT","zlt","zls","location","tp","direction","type","Scale","position","offset","ToolBar","locate","opts","subdistrict","extensions","level","DistrictSearch","RangingTool","on","_ref","points","distance","lnglats","map","item","index","lng","lat","setDefaultCursor","turnOff","mapRangingTool","MouseTool","_ref2","_t$frameSelectProps$b","drawExtData","getExtData","backobj","id","attributes","geometryType","mapLayer","geometry","setGraphic","setGraphicParam","clickGraphic","mouseOverGraphic","mouseOutGraphic","_t$dealData","dealData","lnglatAry","_extent","path","getPosition","getLng","getLat","paths","getLength","area","getArea","rings","getCenter","radius","getRadius","Math","PI","pow","close","drawEnd","callback","Function","Heatmap","nowXY","lnglatToPixel","css","top","left","display","initPropsForUser","frameSelect","clearFrameSelect","clearFrameSelectById","_ref3","_ref3$parameter","parameter","_ref3$data","data","includes","message","warn","params","random","color","lineColor","lineOpacity","lineWidth","pellucidity","lineType","draw","removeGraphic","TileLayer","Satellite","RoadNet","hide","show","imageAry","sw","ne","url","opacity","displayOnMinLevel","displayOnMaxLevel","console","swnep","Bounds","ImageLayer","bounds","setLayers","clearAll","clearMarkers","clearMap","gt","sw_ne","LngLat","setLimitBounds","clearAreaRestriction","clearLimitBounds","openTrafficInfo","Traffic","zIndex","add","hideTrafficInfo","ids","fitView","setFitView","getAllOverlays","pts","split","Marker","getMoreGraphic","setZoom","getCurrentCenter","getZoomLevel","getZoom","getMapExtent","northEast","getBounds","toBounds","getNorthEast","southWest","getSouthWest","mapSize","getSize","nowCenter","calculatePointsDistance","ary","getGraphicParam","config","isAnimation","ms","setMarkers","removeCluster","removeMarkers","getMarkers","scaleOffset","scaleControl","removeControl","navigationControl","control","addControl","navigation","mapTypeControl","MapType","reloaction","right","bottom","timer","setInterval","log","clearInterval","getGraphic","gp","gg","_t$dealData2","longitude","latitude","other","getPath","bdNames","search","status","Date","getTime","districtList","boundaries","removeBaiduBoundary","removedBDNames","_this2","removedBDIds","indexOf","d","cg","max","visible","option","gradient","setOptions","setDataSet","width","height","sContent","document","createElement","infowindow","InfoWindow","content","setSize","Size","onClose","render","open","pointCollectTimer","clearTimeout","pointCollectionHtml","className","append","lngLatToContainer","options","size","shape","VotexpointCollection","GMapLib","updatePointCollection","ds","ind","reDraw","clearPointCollection","clear","clearAllPointCollection","_this3","ps","psids","isRepetition","labelContent","labelPixelX","labelPixelY","markerContentX","markerContentY","deg","markerOption","angle","clickable","cursor","bubble","extData","BAnimationType","animation","markerContent","icon","Icon","image","imageSize","canShowLabel","labelClass","label","marker","updatePoint","_this4","gc","isuserUrlLeft","getLabel","getOffset","getX","getY","getAngle","getzIndex","setLabel","setOffset","setAngle","setzIndex","setPosition","delay","animationDelay","speed","autoRotation","ddeg","rotateDeg","urlleft","moveTo","k","setAnimation","setContent","setIcon","_this5","ls","lsids","isHidden","lineOption","strokeColor","strokeOpacity","strokeWeight","strokeStyle","itt","indd","Polyline","updateLine","_this6","op","getOptions","_this7","pgs","pgsids","polygonOption","fillColor","fillOpacity","Polygon","updatePolygon","_this8","_this9","ccs","ccsids","circleOption","Circle","updateCircle","_this10","doEdit","endEdit","setDraggable","editGraphicChange","PolyEditor","CircleEditor","off","param","lnglat","pixel","clickLngLat","vtxRangingTool","turnOn","drawParam","splice","paramgcr","closeDraw","xmax","xmin","ymax","ymin","lngX","latX","removeMarker","setMap","sp","ep","spLngLat","tan","atan","disy","bias","deepEqual","a","b","is","fromJS","lnglat1","lnglat2","round","calculateDistance","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","psc","PlaceSearch","list","poiList","pois","_map","style","componentDidMount","getElementById","offsetLeft","offsetTop","componentWillUnmount","allParam","componentDidUpdate","prevProps","prevState","componentWillReceiveProps","nextProps","_t$state","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","customizedBoundary","isOpenTrafficInfo","setCluster","isRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isClearAll","isclearAllPointCollection","isSetAreaRestriction","isClearAreaRestriction","_t$dataMatch","oldMapPoints","newMapPoints","_t$dataMatch2","_t$dealAdd","_t$dealUpdate","_iterator","_step","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","newBDName","oldBDName","removedBoundaryName","addedBoundaryName","JSON","stringify","React","Component","_default","exports","module"],"sources":["VtxMap/AMap/AMap.js"],"sourcesContent":["import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport {graphicManage,getPolygonArea} from '../MapToolFunction';\r\nimport Immutable from 'immutable';\r\n//公共地址配置\r\nimport configUrl from '../../default';\r\nconst {Set} = Immutable;\r\nclass VortexAMap 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.morepoints = [];//海量点集合\r\n this.htmlXY = {x:0,y:0,px:0,py:0,isCount: false};\r\n this.stopMove = true;//防止zoom事件触发时,联动的触发move事件\r\n this.mapLeft = 0;//地图offset的Left值\r\n this.mapTop = 0;//地图offset的Top值\r\n this.clusterObj = null;//聚合点类对象\r\n this.trafficLayer = null;//路况类对象\r\n this.scale = null;//比例尺控件对象\r\n this.tool = null;//比例尺工具对象\r\n this.ruler = null;//测距对象\r\n this.mousetool = null;//绘制图元对象\r\n this.districeSearch = null;//行政区划搜索对象\r\n this.polyEdit = null;//折线和多边形编辑对象\r\n this.circleEdit = null;//圆编辑对象\r\n this.editTimeout = null;//圆编辑时的延迟回调,避免重复调用\r\n this.heatmap = null;//热力图对象\r\n this.satellite = null;//底图图层对象-卫星图\r\n this.roadNet = null;//路网图层对象\r\n //为了样式相同,引用百度的鼠标样式\r\n this.csr = \r\n /webkit/.test(navigator.userAgent.toLowerCase()) ?\r\n 'url(\"http://api.map.baidu.com/images/ruler.cur\") 3 6, crosshair' :\r\n 'url(\"http://api.map.baidu.com/images/ruler.cur\"), crosshair';\r\n this.state = {\r\n gis: null,//地图对象\r\n mapId: props.mapId,\r\n mapCreated: false,\r\n pointIds:[], //地图上点的ids\r\n lineIds:[], //地图上线的ids\r\n polygonIds:[], //地图上面的ids\r\n circleIds:[], //地图上圆的ids\r\n 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 }\r\n this.AnchorConstant = {\r\n tr: 'RT',\r\n tl: 'LT',\r\n bl: 'LB',\r\n br: 'RB'\r\n }\r\n this.frameSelectProps = {}\r\n this.loadMapJs();\r\n }\r\n loadMapJs(){\r\n this.loadMapComplete = new Promise((resolve,reject)=>{\r\n if(window.AMap){\r\n resolve(window.AMap);\r\n }\r\n else{\r\n $.getScript(`${configUrl.mapServerURL}/A_content.js`,()=>{\r\n $.getScript('//webapi.amap.com/maps?v=1.4.14&key=e59ef9272e3788ac59d9a22f0f8cf9fe&plugin=AMap.Geolocation,AMap.MarkerClusterer,AMap.MapType,AMap.Scale,AMap.ToolBar,AMap.DistrictSearch,AMap.RangingTool,AMap.MouseTool,AMap.PolyEditor,AMap.CircleEditor,AMap.PlaceSearch,AMap.Heatmap',()=>{\r\n let PointCollection = new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/GPointCollection.js`,()=>{\r\n resolve();\r\n });\r\n });\r\n Promise.all([PointCollection]).then(()=>{\r\n (function setTime() {\r\n let allEvents = [\r\n window.AMap,\r\n 'MarkerClusterer',\r\n 'MapType',\r\n 'Scale',\r\n 'ToolBar',\r\n 'DistrictSearch',\r\n 'RangingTool',\r\n 'MouseTool',\r\n 'PolyEditor',\r\n 'CircleEditor',\r\n 'PlaceSearch',\r\n 'Heatmap'\r\n ];\r\n let isLoading = true;\r\n for(let i = 0; i <= allEvents.length - 1; i++){\r\n if(i === 0){\r\n if(!allEvents[i]){\r\n isLoading = false;\r\n break;\r\n }\r\n }else{\r\n if(!allEvents[0][allEvents[i]]){\r\n isLoading = false;\r\n break;\r\n }\r\n }\r\n }\r\n if(isLoading){\r\n resolve(window.AMap);\r\n }else{\r\n setTimeout(()=>{\r\n setTime();\r\n },50)\r\n }\r\n })();\r\n })\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 imageOverlays,\r\n setVisiblePoints,mapVisiblePoints,\r\n mapCenter,mapZoomLevel,\r\n mapCluster,mapPointCollection,\r\n showControl,boundaryName,heatMapData,\r\n areaRestriction,coverageType,\r\n infoWindowData\r\n } = t.props;\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType){\r\n t.setMapType(coverageType);\r\n }\r\n //创建地图\r\n t.createMap();\r\n //初始化中心点\r\n t.setCenter(mapCenter);\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(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(t.props.showGraphicById){\r\n t.props.showGraphicById(t.showGraphicById.bind(t));\r\n }\r\n //回调隐藏方法\r\n if(t.props.hideGraphicById){\r\n t.props.hideGraphicById(t.hideGraphicById.bind(t));\r\n }\r\n //设置区域限制\r\n if(areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\r\n t.setAreaRestriction(areaRestriction);\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 t.addPointCollection(mapPointCollection);\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\r\n t.setState({\r\n mapCreated:true\r\n });\r\n }\r\n //地图方法\r\n createMap(divId){\r\n let t = this;\r\n const {viewMode,mapStyle,mapCenter,mapId,mapZoomLevel,minZoom,maxZoom} = t.props;\r\n //缓存Map的对象,方便后期的功能操作\r\n //后期不会操作gis数据,直接通过state缓存.\r\n if(window.VtxMap){\r\n window.VtxMap[mapId] = null;\r\n }else{\r\n window.VtxMap = {};\r\n }\r\n window.VtxMap[mapId] = t.state.gis = new AMap.Map(mapId.toString(),{\r\n viewMode: viewMode?viewMode:'2D',\r\n resizeEnable: true,\r\n //zoom等级,和百度一样默认10\r\n zoom: mapZoomLevel || 10,\r\n //不传中心点,高德地图默认使用用户所在地的城市为中心点\r\n center: (mapCenter && mapCenter instanceof Array && mapCenter.length == 2)?mapCenter:[116.400433,39.906705],\r\n zooms: [minZoom || 3, maxZoom || 18]\r\n });\r\n if(mapStyle){\r\n t.state.gis.setMapStyle(mapStyle)\r\n }\r\n //聚合点类对象\r\n t.clusterObj = new AMap.MarkerClusterer(t.state.gis,[]);\r\n //比例尺控件对象\r\n /*算出比例尺位置偏移量*/\r\n let offsetS = new AMap.Pixel(60,17);\r\n let offsetT = new AMap.Pixel(25,10);\r\n let zlt = 'RB';\r\n let zls = 'RB';\r\n if(t.props.showControl){\r\n switch(t.props.showControl.location){\r\n case 'tl':\r\n zlt = 'LT';\r\n zls = 'LB';\r\n offsetS = new AMap.Pixel(10,17);\r\n offsetT = new AMap.Pixel(5,10);\r\n break;\r\n case 'bl':\r\n zlt = 'LB';\r\n zls = 'LB';\r\n offsetS = new AMap.Pixel(60,19);\r\n offsetT = new AMap.Pixel(5,12);\r\n break;\r\n case 'tr':\r\n zlt = 'RT';\r\n zls = 'RB';\r\n offsetS = new AMap.Pixel(25,17);\r\n offsetT = new AMap.Pixel(25,10);\r\n break;\r\n case 'br':\r\n zlt = 'RB';\r\n zls = 'RB';\r\n offsetS = new AMap.Pixel(70,17);\r\n offsetT = new AMap.Pixel(25,10);\r\n break;\r\n }\r\n //默认是all\r\n let tp = {\r\n ruler: true,\r\n direction: true\r\n }\r\n switch(t.props.showControl.type){\r\n case 'small':\r\n tp = {\r\n ruler: false,\r\n direction: true\r\n }\r\n break;\r\n case 'pan':\r\n tp = {\r\n ruler: false,\r\n direction: true\r\n }\r\n break;\r\n case 'zoom':\r\n tp = {\r\n ruler: false,\r\n direction: false\r\n }\r\n break;\r\n }\r\n t.scale = new AMap.Scale({\r\n position: zls,\r\n offset: offsetS\r\n });\r\n //比例尺工具对象\r\n t.tool = new AMap.ToolBar({\r\n position: zlt,\r\n offset: offsetT,\r\n locate: false,\r\n ...tp\r\n });\r\n }\r\n //搜索服务\r\n let opts = {\r\n subdistrict: 1, //返回下一级行政区\r\n extensions: 'all', //返回行政区边界坐标组等具体信息\r\n level: 'district' //查询行政级别为 市\r\n };\r\n //实例化DistrictSearch\r\n t.districeSearch = new AMap.DistrictSearch(opts);\r\n //实例化RangingTool\r\n t.ruler = new AMap.RangingTool(t.state.gis);\r\n t.ruler.on('end',({type,polyline,points,distance})=>{\r\n let lnglats = points.map((item,index)=>{\r\n return [item.lng,item.lat];\r\n })\r\n //恢复鼠标默认样式\r\n t.state.gis.setDefaultCursor();\r\n t.ruler.turnOff();\r\n if(typeof(t.props.mapRangingTool) ===\"function\"){\r\n t.props.mapRangingTool({\r\n distance,lnglats\r\n });\r\n }\r\n });\r\n //绘制图元类\r\n t.mousetool = new AMap.MouseTool(t.state.gis);\r\n //绘制完后的回调\r\n t.mousetool.on('draw',({type,obj})=>{\r\n let drawExtData = obj.getExtData();\r\n let backobj = {\r\n id: drawExtData.id,\r\n attributes: drawExtData.attributes,\r\n geometryType: drawExtData.type == 'rectangle'?'polygon':drawExtData.type,\r\n mapLayer: obj,\r\n geometry: {\r\n type: drawExtData.type == 'rectangle'?'polygon':drawExtData.type\r\n }\r\n };\r\n //缓存绘制的图元信息\r\n t.GM.setGraphic(drawExtData.id,obj);\r\n t.GM.setGraphicParam(drawExtData.id,backobj);\r\n //添加点击事件\r\n obj.on( 'click', (e)=>{\r\n t.clickGraphic(drawExtData.id,e);\r\n });\r\n obj.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(drawExtData.id,e);\r\n });\r\n obj.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(drawExtData.id,e);\r\n });\r\n\r\n //区别点和圆的经纬度数据处理\r\n let {lnglatAry,_extent,path} = t.dealData(obj);\r\n //处理返回数据\r\n switch(drawExtData.type){\r\n case 'point':\r\n backobj.geometry.x = obj.getPosition().getLng();\r\n backobj.geometry.y = obj.getPosition().getLat();\r\n break;\r\n case 'polyline':\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.paths = path;\r\n backobj.geometry._extent = _extent;\r\n backobj.distance = obj.getLength();\r\n break;\r\n case 'polygon':\r\n backobj.area = obj.getArea();\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.rings = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'rectangle':\r\n backobj.area = obj.getArea();\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.rings = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'circle':\r\n backobj.geometry.x = obj.getCenter().getLng();\r\n backobj.geometry.y = obj.getCenter().getLat();\r\n backobj.geometry.radius = obj.getRadius();\r\n backobj.area = Math.PI*Math.pow(backobj.geometry.radius,2);\r\n break;\r\n }\r\n //恢复鼠标默认样式\r\n t.state.gis.setDefaultCursor();\r\n t.mousetool.close();\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 t.heatmap = new AMap.Heatmap(t.state.gis);\r\n t.state.gis.on('mapmove',(e)=>{\r\n if(t.htmlXY.isCount){\r\n let nowXY = t.state.gis.lnglatToPixel(t.state.gis.getCenter());\r\n $(`#${t.pointCollectionId}`).css({\r\n top: t.htmlXY.y - nowXY.y,\r\n left: t.htmlXY.x - nowXY.x,\r\n display: 'none'\r\n });\r\n }\r\n })\r\n t.initPropsForUser();\r\n }\r\n // 初始化对外方法\r\n initPropsForUser(){\r\n const t = this;\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 }\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 /* \r\n 切换地图矢量图和卫星图背景\r\n */\r\n setMapType(type){\r\n if(!this.satellite && type=='wx'){\r\n this.satellite = new AMap.TileLayer.Satellite({map: this.state.gis});\r\n this.roadNet = new AMap.TileLayer.RoadNet({map: this.state.gis})\r\n }\r\n if(this.satellite){\r\n switch (type) {\r\n case 'sl':\r\n this.satellite.hide();\r\n this.roadNet.hide();\r\n break;\r\n case 'wx':\r\n this.satellite.show();\r\n this.roadNet.show();\r\n break;\r\n }\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 AMap.Bounds(sw, ne),\r\n imageUrlOverlay = new AMap.ImageLayer({\r\n url,\r\n zooms: [displayOnMinLevel || 3,displayOnMaxLevel || 18],\r\n bounds: swnep\r\n });\r\n t.state.gis.setLayers([new AMap.TileLayer(),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 t.clusterObj.clearMarkers();\r\n t.state.gis.clearMap();\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 && gt instanceof Array && gt.length == 2){\r\n t.state.gis.setCenter(gt);\r\n // t.setState({center:gt});\r\n }else{\r\n t.state.gis.setCenter([116.400433,39.906705]);\r\n // t.setState({center:[117.468021,39.890092]});\r\n }\r\n }\r\n /*地图区域限制*/\r\n setAreaRestriction(sw_ne){\r\n let bounds = new AMap.Bounds(new AMap.LngLat(sw_ne[0][0],sw_ne[0][1]),new AMap.LngLat(sw_ne[1][0],sw_ne[1][1]));\r\n this.state.gis.setLimitBounds(bounds);\r\n }\r\n clearAreaRestriction(){\r\n this.state.gis.clearLimitBounds();\r\n }\r\n //展示路况信息\r\n openTrafficInfo(){\r\n let t = this;\r\n //判断是否已经创建路况对象\r\n if(this.trafficLayer){\r\n this.trafficLayer.show();\r\n }else{\r\n //路况类对象\r\n let trafficLayer = new AMap.TileLayer.Traffic({\r\n zIndex: 10\r\n });\r\n t.state.gis.add(trafficLayer);\r\n this.trafficLayer = trafficLayer;\r\n }\r\n }\r\n //隐藏路况信息\r\n hideTrafficInfo(){\r\n if(this.trafficLayer){\r\n this.trafficLayer.hide();\r\n }\r\n }\r\n //设置指定图元展示 高德只有zoom和center全适应,单适应暂时无法实现\r\n setVisiblePoints(obj){\r\n let t = this;\r\n let ids = [];\r\n switch(obj.fitView){\r\n case 'point':\r\n t.state.gis.setFitView(t.state.gis.getAllOverlays('marker'));\r\n break;\r\n case 'line':\r\n t.state.gis.setFitView(t.state.gis.getAllOverlays('polyline'));\r\n break;\r\n case 'polygon':\r\n t.state.gis.setFitView(t.state.gis.getAllOverlays('polygon'));\r\n break;\r\n case 'circle':\r\n t.state.gis.setFitView(t.state.gis.getAllOverlays('circle'));\r\n break;\r\n case 'all':\r\n let pts = [...t.state.gis.getAllOverlays('marker'),...t.state.gis.getAllOverlays('polyline'),\r\n ...t.state.gis.getAllOverlays('polygon'),...t.state.gis.getAllOverlays('circle')];\r\n t.state.gis.setFitView(pts);\r\n break;\r\n default:\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 // let l = new AMap.LngLat(ids[0][0],ids[0][1]),\r\n // r = new AMap.LngLat(ids[1][0],ids[1][1]); \r\n // let b = new AMap.Bounds(l,r); \r\n // t.state.gis.setBounds(b);\r\n // fix: 高德地图在[[lng,lat],[lng,lat]]方式下的最佳视野\r\n t.state.gis.setFitView(ids.map((item) => {\r\n return new AMap.Marker({\r\n position: new AMap.LngLat(item[0], item[1]),\r\n });\r\n }));\r\n }else{\r\n t.state.gis.setFitView(this.GM.getMoreGraphic(ids));\r\n }\r\n break;\r\n }\r\n }\r\n //设置地图比例尺\r\n setZoomLevel (zoom) {\r\n let t =this;\r\n t.state.gis.setZoom(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 northEast = (this.props.viewMode == '3D'?gis.getBounds().toBounds() : gis.getBounds()).getNorthEast(),\r\n southWest = (this.props.viewMode == '3D'?gis.getBounds().toBounds() : gis.getBounds()).getSouthWest();\r\n let obj = {\r\n mapSize: gis.getSize(),\r\n nowCenter: t.getCurrentCenter(),\r\n northEast: {\r\n lat: northEast.lat,\r\n lng: northEast.lng\r\n },\r\n southWest: {\r\n lat: southWest.lat,\r\n lng: southWest.lng\r\n },\r\n zoom: t.getZoomLevel()\r\n }\r\n obj.radius = t.calculatePointsDistance([obj.nowCenter.lng,obj.nowCenter.lat],[\r\n northEast.getLng(),northEast.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 ary = ary.filter((item,index)=>{\r\n return !(t.GM.getGraphicParam(item).attributes.config || {}).isAnimation;\r\n });\r\n let ms = this.GM.getMoreGraphic(ary).filter((item,index)=>{\r\n return !item && item != 0 ? false : true;\r\n });\r\n t.clusterObj.setMarkers(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.getMarkers());\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='RT',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 if(config.showControl.offset && config.showControl.offset.length>0){\r\n offset = new AMap.Pixel(config.showControl.offset[0],config.showControl.offset[1])\r\n scaleOffset = new AMap.Pixel(config.showControl.offset[0] + 70,config.showControl.offset[1])\r\n }\r\n // 添加比例尺\r\n let control = new AMap.Scale({position: location, offset: scaleOffset});\r\n t.state.gis.addControl(control);\r\n t.scaleControl = control;\r\n // 包含平移和缩放按钮\r\n let navigation = new AMap.ToolBar({position: location, offset}); \r\n t.state.gis.addControl(navigation);\r\n t.navigationControl = navigation;\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 showMapTypeControl (props){\r\n let t = this,location = 'RT',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 // 地图切换控件\r\n let control = new AMap.MapType({position: location, offset: offset});\r\n t.state.gis.addControl(control);\r\n t.mapTypeControl = control;\r\n\r\n // TODO,MapType没有这些属性,所以下面定位和偏移不生效,手动修改\r\n function reloaction() {\r\n if (location == 'RT') {\r\n $('div.amap-maptypecontrol').css({ right: 0, top: 0, left: 'inherit', bottom: 'inherit' });\r\n } else if (location == 'LT') {\r\n $('div.amap-maptypecontrol').css({ left: 0 + 64, top: 0, right: 'inherit', bottom: 'inherit' });\r\n } else if (location == 'LB') {\r\n $('div.amap-maptypecontrol').css({ left: 0 + 64, bottom: 0 + 84, right: 'inherit', top: 'inherit' });\r\n } else if (location == 'RB') {\r\n $('div.amap-maptypecontrol').css({ right: 0, bottom: 0 + 84, left: 'inherit', top: 'inherit' });\r\n }\r\n if (config.satelliteSwitch.offset && config.satelliteSwitch.offset.length > 0) {\r\n if (location == 'RT') {\r\n $('div.amap-maptypecontrol').css({ right: config.satelliteSwitch.offset[0], top: config.satelliteSwitch.offset[1], left: 'inherit', bottom: 'inherit' });\r\n } else if (location == 'LT') {\r\n $('div.amap-maptypecontrol').css({ left: config.satelliteSwitch.offset[0] + 64, top: config.satelliteSwitch.offset[1], right: 'inherit', bottom: 'inherit' });\r\n } else if (location == 'LB') {\r\n $('div.amap-maptypecontrol').css({ left: config.satelliteSwitch.offset[0] + 64, bottom: config.satelliteSwitch.offset[1] + 84, right: 'inherit', top: 'inherit' });\r\n } else if (location == 'RB') {\r\n $('div.amap-maptypecontrol').css({ right: config.satelliteSwitch.offset[0], bottom: config.satelliteSwitch.offset[1] + 84, left: 'inherit', top: 'inherit' });\r\n }\r\n }\r\n }\r\n if ($('div.amap-maptypecontrol').length > 0) {\r\n reloaction();\r\n } else {\r\n let timer = setInterval(() => {\r\n console.log(123);\r\n if ($('div.amap-maptypecontrol').length > 0) {\r\n clearInterval(timer)\r\n reloaction();\r\n }\r\n }, 500)\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 let {lnglatAry,_extent,path} = t.dealData(gg);\r\n switch(gp.geometryType){\r\n case 'point':\r\n lng = gg.getPosition().getLng();\r\n lat = gg.getPosition().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.getPath().map((item,index)=>{\r\n return [item.lng,item.lat]\r\n });\r\n p = {\r\n ...gp,\r\n lnglatAry,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n paths: pts,\r\n _extent\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.getPath().map((item,index)=>{\r\n return [item.lng,item.lat]\r\n });\r\n p = {\r\n ...gp,\r\n lnglatAry,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n rings: pts,\r\n _extent\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 showGraphicById (id){\r\n let t = this;\r\n t.GM.getGraphic(id).show();\r\n }\r\n //隐藏图元\r\n hideGraphicById(id){\r\n let t = this;\r\n t.GM.getGraphic(id).hide();\r\n }\r\n //画出对应边界线 name区域名\r\n addBaiduBoundary(bdNames){\r\n let t = this;\r\n bdNames.forEach(name=>{\r\n t.districeSearch.search(name,(status,result)=>{\r\n if(status == 'complete'){\r\n let id = 'boundary' + new Date().getTime();\r\n let paths = result.districtList[0].boundaries[0].map((item,index)=>{\r\n return [item.lng,item.lat];\r\n });\r\n t.addPolygon([{id,rings:paths}]);\r\n t.state.boundaryInfo.push({id,name:name});\r\n } \r\n });\r\n })\r\n }\r\n removeBaiduBoundary(removedBDNames){\r\n let removedBDIds = this.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)>-1).map(item=>item.id);\r\n this.setState({boundaryInfo:this.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)==-1)});\r\n removedBDIds.forEach(id=>{\r\n this.removeGraphic(id,'polygon');\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 let option = {\r\n radius: cg.radius,\r\n opacity: [0,cg.opacity]\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.heatmap.show();\r\n }else{\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 AMap.InfoWindow({\r\n // isCustom: true,\r\n content: sContent\r\n });\r\n infowindow.setSize(new AMap.Size(cg.width, cg.height + 20))\r\n\r\n if(d.onClose instanceof Function){\r\n infowindow.on(\"close\", 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.open(t.state.gis,[d.lng,d.lat]);\r\n\r\n } else {\r\n infowindow.close();\r\n }\r\n }\r\n //添加海量点\r\n addPointCollection(data = []){\r\n let t = this;\r\n if(!$(`#${t.state.mapId} .amap-layers`).length){\r\n if(t.pointCollectTimer){\r\n clearTimeout(t.pointCollectTimer);\r\n }\r\n t.pointCollectTimer = setTimeout(() => {\r\n t.addPointCollection(data);\r\n }, 50);\r\n }else{\r\n if(!$(`#${t.pointCollectionId}`).length){\r\n //创建海量点图层\r\n //加上mapId 实现多地图\r\n t.pointCollectionId = `${t.state.mapId}_${t.pointCollectionId}`\r\n let pointCollectionHtml = document.createElement('div');\r\n pointCollectionHtml.id = t.pointCollectionId;\r\n pointCollectionHtml.class = 'vtx_gmap_html_pointCollection_a';\r\n pointCollectionHtml.className = 'vtx_gmap_html_pointCollection_a';\r\n $($(`#${t.state.mapId} .amap-layers`)[0]).append(pointCollectionHtml);\r\n }else{\r\n \r\n }\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 AMap.LngLat(d.lng,d.lat);\r\n p = t.state.gis.lngLatToContainer(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().width,\r\n height: t.state.gis.getSize().height,\r\n mapId: t.props.mapId\r\n };\r\n let VotexpointCollection = new GMapLib.PointCollection(points,options);\r\n t.morepoints.push({\r\n id: d.id,\r\n value: VotexpointCollection\r\n });\r\n VotexpointCollection.draw();\r\n })\r\n }\r\n }\r\n //更新海量点\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 AMap.LngLat(d.lng,d.lat);\r\n p = t.state.gis.lngLatToContainer(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().width,\r\n height: t.state.gis.getSize().height\r\n };\r\n item.value.reDraw(points,options);\r\n }\r\n })\r\n })\r\n }\r\n //删除海量点\r\n clearPointCollection(ids = []){\r\n let t = this;\r\n ids.map((id,ind)=>{\r\n t.morepoints.map(function (item,index) {\r\n if(id == item.id){\r\n item.value.clear();\r\n }\r\n });\r\n });\r\n }\r\n //删除全部海量点\r\n 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 addPoint(mapPoints,type){\r\n let t = this;\r\n let ps = [];\r\n let psids = [...t.state.pointIds];\r\n mapPoints.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`加点id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n width: 30,\r\n height: 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n markerContentX: -13,\r\n markerContentY: -42,\r\n zIndex: 100,\r\n deg: 0,\r\n }\r\n //初始化默认数据\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //覆盖物参数\r\n let markerOption = {\r\n position: new AMap.LngLat(item.longitude,item.latitude),\r\n offset: new AMap.Pixel(cg.markerContentX,cg.markerContentY),\r\n zIndex: cg.zIndex,\r\n angle: cg.deg,\r\n clickable: true,\r\n cursor: 'pointer',\r\n bubble: true,\r\n extData: {\r\n id: item.id\r\n }\r\n }\r\n if(cg.BAnimationType == 0){\r\n markerOption.animation ='AMAP_ANIMATION_BOUNCE';\r\n }else if(cg.BAnimationType == 1){\r\n markerOption.animation = 'AMAP_ANIMATION_DROP';\r\n }else{\r\n markerOption.animation = 'AMAP_ANIMATION_NONE';\r\n }\r\n //判断html还是图片\r\n if(!!item.markerContent){\r\n markerOption.content = item.markerContent;\r\n }else{\r\n if(item.url){\r\n // 解决自定义的图标设置图片大小无效\r\n // if(item.url.indexOf('http://') > -1 || item.url.indexOf('https://') > -1){\r\n markerOption.icon = new AMap.Icon({\r\n size: new AMap.Size(cg.width,cg.height),\r\n image: item.url,\r\n imageSize: new AMap.Size(cg.width,cg.height)\r\n })\r\n // }else{\r\n // markerOption.icon = item.url;\r\n // }\r\n }\r\n }\r\n //是否展示label\r\n if(item.canShowLabel){\r\n let labelClass = item.labelClass || 'label-content';\r\n markerOption.label = {\r\n content: `<div class='${labelClass}'>${cg.labelContent}</div>`,\r\n offset: new AMap.Pixel(cg.labelPixelX,cg.labelPixelY)\r\n }\r\n }\r\n //获得覆盖物对象\r\n let marker = new AMap.Marker(markerOption);\r\n //添加点击事件\r\n marker.on( 'click', (e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n marker.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n marker.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n ps.push(marker);\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 }\r\n );\r\n });\r\n //统一加点\r\n t.state.gis.add(ps);\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),isuserUrlLeft = false;\r\n let cg = {\r\n width : 30,\r\n height : 30,\r\n labelContent: gc.getLabel(),\r\n markerContentX: gc.getOffset().getX(),\r\n markerContentY: gc.getOffset().getY(),\r\n deg: gc.getAngle(),\r\n zIndex: gc.getzIndex(),\r\n labelClass: 'label-content'\r\n };\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //是否展示label\r\n if(item.canShowLabel){\r\n cg.labelPixelX= cg.labelPixelX || gc.getLabel() ? gc.getLabel().offset.getX() : 0;\r\n cg.labelPixelY= cg.labelPixelY || gc.getLabel() ? gc.getLabel().offset.getY(): 34;\r\n cg.labelContent= cg.labelContent || gc.getLabel().offset.content;\r\n let labelClass = item.labelClass || 'label-content';\r\n //更新label\r\n gc.setLabel({\r\n content: `<div class='${labelClass}'>${cg.labelContent}</div>`,\r\n offset: new AMap.Pixel(cg.labelPixelX,cg.labelPixelY)\r\n })\r\n }\r\n //更新偏移量\r\n gc.setOffset(new AMap.Pixel(cg.markerContentX,cg.markerContentY));\r\n //设置偏转角度\r\n gc.setAngle(cg.deg);\r\n //设置点的标记添加顺序\r\n gc.setzIndex(cg.zIndex);\r\n //更新经纬度\r\n if(!item.config.isAnimation){\r\n gc.setPosition(new AMap.LngLat(item.longitude,item.latitude));\r\n }else{\r\n let distance = t.calculatePointsDistance([item.longitude,item.latitude],[\r\n gc.getPosition().getLng(),gc.getPosition().getLat()]);\r\n if(distance > 0){\r\n let delay = item.config.animationDelay || 3;\r\n let speed = distance/delay*3600/1000;\r\n if(cg.autoRotation){\r\n let ddeg = t.rotateDeg(gc.getPosition(),[item.longitude,item.latitude]);\r\n if(item.urlleft && (ddeg < -90 && ddeg > -270)){\r\n ddeg += 180;\r\n isuserUrlLeft = true;\r\n }\r\n gc.setAngle(ddeg);\r\n }\r\n gc.moveTo(new AMap.LngLat(item.longitude,item.latitude),speed,function(k){\r\n return k;\r\n })\r\n }\r\n }\r\n if(item.config.BAnimationType == 0){\r\n gc.setAnimation('AMAP_ANIMATION_BOUNCE');\r\n }else if(item.config.BAnimationType == 1){\r\n gc.setAnimation('AMAP_ANIMATION_DROP');\r\n }else{\r\n gc.setAnimation('AMAP_ANIMATION_NONE');\r\n }\r\n //判断html还是图片\r\n if(!!item.markerContent){\r\n gc.setContent(item.markerContent);\r\n }else{\r\n if(isuserUrlLeft){\r\n gc.setIcon(item.urlleft);\r\n }else{\r\n if(item.url){\r\n // if(item.url.indexOf('http://') > -1 || item.url.indexOf('https://') > -1){\r\n gc.setIcon(new AMap.Icon({\r\n size: new AMap.Size(cg.width,cg.height),\r\n image: item.url,\r\n imageSize: new AMap.Size(cg.width,cg.height)\r\n }));\r\n // }else{\r\n // gc.setIcon(item.url);\r\n // }\r\n }\r\n }\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 }\r\n );\r\n }else{\r\n console.warn(`更新的点位id不存在!`);\r\n return false;\r\n }\r\n })\r\n }\r\n //添加线\r\n addLine(mapLines,type){\r\n let t = this;\r\n let ls = [];\r\n let lsids = [...t.state.lineIds];\r\n //遍历添加线(图元)\r\n mapLines.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`多折线id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多折线点位数据不符合,直接跳过\r\n if(!(item.paths && item.paths.length >= 2)){\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',\r\n isHidden: false\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let lineOption = {\r\n strokeColor: cg.color,\r\n strokeOpacity: cg.pellucidity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n path: (item.paths || []).map((itt,indd)=>{\r\n return [...itt];\r\n }),\r\n cursor: 'pointer',\r\n bubble: true\r\n }\r\n let polyline = new AMap.Polyline(lineOption);\r\n //添加点击事件\r\n polyline.on( 'click', (e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n polyline.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n polyline.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存图元的数据,便于后期操作\r\n let pts = item.paths.map((itt,ind)=>{\r\n return [...itt]\r\n });\r\n this.GM.setGraphic(item.id,polyline).setGraphicParam(\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 ls.push(polyline);\r\n lsids.push(item.id);\r\n //添加线\r\n // polyline.setMap(t.state.gis);\r\n //根据参数判断是否显示多折线\r\n if(cg.isHidden){\r\n polyline.hide();\r\n }else{\r\n polyline.show();\r\n }\r\n //state中缓存 line的id...用于数据判断\r\n t.state.lineIds.push(item.id);\r\n // polyline.on('click', function(e) {\r\n // let obj = {\r\n // type: 'polyline',\r\n // attributes: {...item.other,...{config:item.config}},\r\n // top: e.pixel.y,\r\n // left: e.pixel.x,\r\n // e: e\r\n // }\r\n // //接入点击事件\r\n // });\r\n });\r\n t.state.gis.add(ls);\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 let op = gc.getOptions();\r\n //根据参数判断是否显示多折线\r\n if(item.config && item.config.isHidden){\r\n gc.hide();\r\n }else{\r\n gc.show();\r\n }\r\n //获取原有的线属性,转换key值\r\n let cg = {\r\n color: op.strokeColor,\r\n pellucidity: op.strokeOpacity,\r\n lineWidth: op.strokeWeight,\r\n lineType: op.strokeStyle\r\n };\r\n //重新初始化值\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //重新赋值\r\n let lineOption = {\r\n strokeColor: cg.color,\r\n strokeOpacity: cg.pellucidity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n path: (item.paths || op.path).map((itt,indd)=>{\r\n return [...itt];\r\n }),\r\n cursor: 'pointer'\r\n }\r\n let pts = item.paths.map((itt,ind)=>{\r\n return [...itt]\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 //更新线\r\n gc.setOptions(lineOption);\r\n }else{\r\n console.warn(`更新的多折线id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //添加面\r\n addPolygon(mapPolygons){\r\n let t = this;\r\n let pgs = [];\r\n let pgsids = [...t.state.polygonIds];\r\n //遍历添加面(图元)\r\n mapPolygons.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`多边形id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多边形点位数据不符合,直接跳过\r\n if(!(item.rings && item.rings.length >= 3)){\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期跟百度一起加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let polygonOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity,\r\n path: (item.rings || []).map((itt,indd)=>{\r\n return [...itt];\r\n }),\r\n cursor: 'pointer',\r\n bubble: true\r\n }\r\n let polygon = new AMap.Polygon(polygonOption);\r\n //添加点击事件\r\n polygon.on( 'click', (e)=>{\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((itt,ind)=>{\r\n return [...itt]\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 pgs.push(polygon);\r\n pgsids.push(item.id);\r\n\r\n });\r\n t.state.gis.add(pgs);\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 let op = gc.getOptions();\r\n //根据参数判断是否显示面\r\n // if(item.config && item.config.isHidden){\r\n // gc.hide();\r\n // }else{\r\n // gc.show();\r\n // }\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: op.strokeStyle,\r\n lineWidth: op.strokeWeight,\r\n lineColor: op.strokeColor,\r\n lineOpacity: op.strokeOpacity,\r\n color: op.fillColor,\r\n pellucidity: op.fillOpacity\r\n }\r\n //重新初始化值\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //重新赋值\r\n let polygonOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity,\r\n path: (item.rings || op.path).map((itt,indd)=>{\r\n return [...itt];\r\n }),\r\n cursor: 'pointer'\r\n }\r\n let pts = item.rings.map((itt,ind)=>{\r\n return [...itt]\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 //更新线\r\n gc.setOptions(polygonOption);\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 ccs = [];\r\n let ccsids = [...t.state.circleIds];\r\n mapCircles.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`圆id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //圆 点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期跟百度一起加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //初始化配置数据\r\n let circleOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity,\r\n center: new AMap.LngLat(item.longitude,item.latitude),\r\n radius: item.radius,\r\n cursor: 'pointer',\r\n bubble: true\r\n }\r\n //创建圆对象\r\n let circle = new AMap.Circle(circleOption);\r\n //添加点击事件\r\n circle.on( 'click', (e)=>{\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 ccs.push(circle);\r\n ccsids.push(item.id);\r\n });\r\n t.state.gis.add(ccs);\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 let op = gc.getOptions();\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: op.strokeStyle,\r\n lineWidth: op.strokeWeight,\r\n lineColor: op.strokeColor,\r\n lineOpacity: op.strokeOpacity,\r\n color: op.fillColor,\r\n pellucidity: op.fillOpacity\r\n }\r\n //重新初始化值\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //重新赋值\r\n let circleOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity,\r\n center: new AMap.LngLat(item.longitude,item.latitude) || op.center,\r\n radius: !item.radius && item != 0?op.radius:item.radius,\r\n cursor: 'pointer'\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 //更新线\r\n gc.setOptions(circleOption);\r\n }else{\r\n console.warn(`更新的圆id不存在!`);\r\n return false;\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(!!t.state.editId){\r\n t.endEdit();\r\n }\r\n switch(ms.geometryType){\r\n case 'point':\r\n ms.mapLayer.setDraggable(true);\r\n ms.mapLayer.on('dragend',t.editGraphicChange,t);\r\n break;\r\n case 'polyline':\r\n // break;\r\n case 'polygon':\r\n case 'rectangle':\r\n t.polyEdit = new AMap.PolyEditor(t.state.gis,ms.mapLayer);\r\n t.polyEdit.open();\r\n t.polyEdit.on('adjust',t.editGraphicChange,t);\r\n break;\r\n case 'circle':\r\n t.circleEdit = new AMap.CircleEditor(t.state.gis,ms.mapLayer);\r\n t.circleEdit.open();\r\n t.circleEdit.on('move',t.editGraphicChange,t);\r\n t.circleEdit.on('adjust',t.editGraphicChange,t);\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 switch(ms.geometryType){\r\n case 'point':\r\n ms.mapLayer.setDraggable(false);\r\n ms.mapLayer.off('dragend',t.editGraphicChange,t);\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n t.polyEdit.close();\r\n t.polyEdit.off('adjust',t.editGraphicChange,t);\r\n break;\r\n case 'circle':\r\n t.circleEdit.close();\r\n t.circleEdit.off('move',t.editGraphicChange,t);\r\n t.circleEdit.off('adjust',t.editGraphicChange,t);\r\n break;\r\n }\r\n let editGraphic = t.state.editGraphic;\r\n if(editGraphic){\r\n t.setState({\r\n editId: '',\r\n editGraphic: ''\r\n },()=>{\r\n t.props.editGraphicChange(editGraphic);\r\n })\r\n }\r\n }\r\n //编辑变动后\r\n editGraphicChange(e){\r\n let t = this;\r\n let ms = t.getGraphic(t.state.editId);\r\n let obj = {\r\n id: t.state.editId,\r\n e: e\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 obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n obj.distance = ms.mapLayer.getLength();\r\n break;\r\n case 'polygon':\r\n case 'rectangle':\r\n obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n obj.area = e.target.getArea();\r\n break;\r\n case 'circle':\r\n if(!('lnglat' in e)){\r\n obj.e.lnglat = new AMap.LngLat(ms.geometry.x,ms.geometry.y);\r\n }\r\n if(!('radius' in e)){\r\n obj.e.radius = ms.geometry.radius;\r\n }\r\n obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n obj.area = Math.pow(ms.geometry.radius,2)*Math.PI;\r\n break;\r\n }\r\n if(ms.geometryType == 'circle'){\r\n if(t.editTimeout){\r\n clearTimeout(t.editTimeout);\r\n }\r\n t.editTimeout = setTimeout(()=>{\r\n t.setState({\r\n editGraphic: obj\r\n },()=>{\r\n t.props.editGraphicChange(obj);\r\n });\r\n },300);\r\n }else{\r\n t.setState({\r\n editGraphic: obj\r\n },()=>{\r\n t.props.editGraphicChange(obj);\r\n });\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.pixel.y + t.mapTop,//当前点所在的位置(屏幕)\r\n left: e.pixel.x + t.mapLeft,\r\n e: e\r\n }\r\n t.props.clickGraphic(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.on('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.on('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.on('movestart', function(e) {\r\n t.htmlXY = {\r\n px:0,py:0,isCount: true,\r\n ...t.state.gis.lnglatToPixel(t.state.gis.getCenter())\r\n };\r\n $(`#${t.pointCollectionId}`).css({top: '0px',left: '0px',display: 'none'});\r\n t.updatePointCollection(t.props.mapPointCollection);\r\n if(t.stopMove){\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.on('moveend', function(e) {\r\n t.htmlXY.isCount = false;\r\n $(`#${t.pointCollectionId}`).css({top: '0px',left: '0px',display: 'block'});\r\n t.updatePointCollection(t.props.mapPointCollection);\r\n if(t.stopMove){\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n //处理下数据,符合拖拽事件\r\n t.props.moveEnd(obj);\r\n }else{\r\n t.stopMove = true;\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.on('zoomstart', function(e) {\r\n $(`#${t.pointCollectionId}`).css({display: 'none'});\r\n t.stopMove = false;\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.on('zoomend', function(e) {\r\n $(`#${t.pointCollectionId}`).css({display: 'inline-block'});\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 mouseOverGraphic(id,e){\r\n let t = this;\r\n if(typeof(t.props.mouseOverGraphic) === 'function'){\r\n let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.pixel.y + t.mapTop,//当前点所在的位置(屏幕)\r\n left: e.pixel.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 let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.pixel.y + t.mapTop,//当前点所在的位置(屏幕)\r\n left: e.pixel.x + t.mapLeft,\r\n }\r\n t.props.mouseOutGraphic(obj);\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.on('click', function(e) {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n obj.clickLngLat = {\r\n lng: (e.lnglat || {}).lng,\r\n lat: (e.lnglat || {}).lat\r\n };\r\n obj.pixel = e.pixel;\r\n t.props.clickMap(obj);\r\n });\r\n }\r\n }\r\n //测距\r\n vtxRangingTool () {\r\n let t = this;\r\n t.ruler.turnOn();\r\n //引用百度测距样式\r\n t.state.gis.setDefaultCursor(this.csr);\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 t.removeGraphic(drawParam.data.id);\r\n t.state.drawIds[drawParam.geometryType].splice(len,1);\r\n }\r\n //引用百度测距样式\r\n t.state.gis.setDefaultCursor('crosshair');\r\n let param = {};\r\n let paramgcr = {};\r\n if(drawParam.geometryType == 'polygon' || drawParam.geometryType == 'circle' || drawParam.geometryType == 'rectangle'){\r\n paramgcr.fillColor = drawParam.parameter.color;\r\n paramgcr.strokeColor = drawParam.parameter.lineColor;\r\n paramgcr.strokeOpacity = drawParam.parameter.lineOpacity;\r\n paramgcr.strokeWeight = drawParam.parameter.lineWidth;\r\n paramgcr.fillOpacity = drawParam.parameter.pellucidity;\r\n paramgcr.strokeStyle = drawParam.parameter.lineType;\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 AMap.Icon({\r\n image: drawParam.parameter.url || 'http://webapi.amap.com/theme/v1.3/markers/n/mark_bs.png',\r\n size: new AMap.Size(drawParam.parameter.width || 36,drawParam.parameter.height || 36),\r\n offset: new AMap.Pixel(drawParam.parameter.labelPixelX || -10,drawParam.parameter.labelPixelY || -34)\r\n });\r\n param.extData = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n url: drawParam.parameter.url || 'http://webapi.amap.com/theme/v1.3/markers/n/mark_bs.png',\r\n config: {\r\n width: drawParam.parameter.width || 36,\r\n height: drawParam.parameter.height || 36\r\n }\r\n },\r\n type: 'point'\r\n };\r\n t.mousetool.marker(param);\r\n break;\r\n case 'polyline':\r\n param.strokeColor = drawParam.parameter.color;\r\n param.strokeOpacity = drawParam.parameter.pellucidity;\r\n param.strokeWeight = drawParam.parameter.lineWidth;\r\n param.strokeStyle = drawParam.parameter.lineType;\r\n param.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 pellucidity: drawParam.parameter.pellucidity,\r\n lineWidth: drawParam.parameter.lineWidth\r\n }\r\n },\r\n type: 'polyline'\r\n };\r\n t.mousetool.polyline(param);\r\n break;\r\n case 'polygon':\r\n t.mousetool.polygon(paramgcr);\r\n break;\r\n case 'circle':\r\n t.mousetool.circle(paramgcr);\r\n break;\r\n case 'rectangle':\r\n t.mousetool.rectangle(paramgcr);\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 let t = this;\r\n //恢复鼠标默认样式\r\n t.state.gis.setDefaultCursor();\r\n t.mousetool.close();\r\n }\r\n //处理线和面的 经纬度数据\r\n dealData(ms){\r\n //区别点和圆的经纬度数据处理\r\n let lnglatAry = [],_extent = {xmax: 0,xmin: 0,ymax: 0,ymin: 0},path=[];\r\n if('getPath' in ms){\r\n path = ms.getPath();\r\n path = path.map((item,index)=>{\r\n let lng = item.lng,lat = item.lat;\r\n if(lng > _extent.xmax){\r\n _extent.xmax = lng;\r\n }\r\n if(lng < _extent.xmin || _extent.xmin == 0){\r\n _extent.xmin = lng;\r\n }\r\n if(lat > _extent.ymax){\r\n _extent.ymax = lat;\r\n }\r\n if(lat < _extent.ymin || _extent.ymin == 0){\r\n _extent.ymin = lat;\r\n }\r\n lnglatAry.push({\r\n lngX: lng,\r\n latX: lat\r\n });\r\n return [lng,lat];\r\n })\r\n }\r\n return {lnglatAry,_extent,path};\r\n }\r\n //删除图元\r\n removeGraphic(id,type){\r\n let t = this;\r\n if(!!this.GM.getGraphic(id)){\r\n if((t.GM.getGraphicParam(id).attributes.config || {}).isAnimation){\r\n this.GM.getGraphic(id).stopMove();\r\n }\r\n //清除聚合点 避免异常\r\n t.clusterObj.removeMarker(this.GM.getGraphic(id));\r\n //清除地图中图元\r\n this.GM.getGraphic(id).setMap();\r\n //清除对应id的图元数据缓存\r\n this.GM.removeGraphic(id);\r\n }else{\r\n return false;\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 //点位角度旋转(以指向东(右)为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.lngLatToContainer(spLngLat),\r\n //获取当前点位的经纬度\r\n e = t.state.gis.lngLatToContainer(new AMap.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 AMap.LngLat(f[0],f[1]);\r\n let lnglat2 = new AMap.LngLat(s[0],s[1]);\r\n return Math.round(lnglat1.distance(lnglat2));\r\n }\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 totalDistance += t.calculatePointsDistance(ps[i],ps[i+1]);\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 let psc = new AMap.PlaceSearch({\r\n pageSize,\r\n pageIndex\r\n });\r\n return new Promise((resolve)=>{\r\n psc.search(searchValue,(status,result)=>{\r\n let list = result.poiList.pois.map((r)=>({\r\n id: r.id,\r\n longitude: r.location.lng,\r\n latitude: r.location.lat,\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 resolve(list)\r\n })\r\n })\r\n }\r\n render(){\r\n let t = this; \r\n let _map = this.props;\r\n return(\r\n <div id={_map.mapId} style={{width:'100%',height:'100%'}}></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 }\r\n componentWillUnmount(){\r\n let t = this;\r\n //关闭moveTo定时\r\n for(let i in t.GM.allParam){\r\n if(t.GM.allParam.type == 'point'){\r\n t.GM.getGraphic[i].stopMove();\r\n }\r\n }\r\n this.state.gis.destroy();\r\n this.state.gis = null;\r\n }\r\n componentDidUpdate(prevProps, prevState) {//重新渲染结束\r\n let t = this;\r\n let props = t.props;\r\n // 等待地图加载\r\n if(!t.state.mapCreated)return;\r\n\r\n //回调显示方法\r\n if(props.showGraphicById){\r\n props.showGraphicById(t.showGraphicById.bind(t));\r\n }\r\n //回调隐藏方法\r\n if(props.hideGraphicById){\r\n props.hideGraphicById(t.hideGraphicById.bind(t));\r\n } \r\n \r\n }\r\n componentWillReceiveProps(nextProps,prevProps) {//已加载组件,收到新的参数时调用\r\n let t = this;\r\n //点/线旧数据\r\n let {pointIds,lineIds,polygonIds,circleIds,drawIds} = t.state;\r\n let {point,polyline,polygon,circle,rectangle} = drawIds;\r\n //点/线新数据\r\n let {\r\n mapPoints = [],mapLines = [],mapPolygons = [],mapCircles = [],customizedBoundary =[],\r\n isOpenTrafficInfo,boundaryName,heatMapData,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 isClearAll,mapPointCollection,isclearAllPointCollection,\r\n isSetAreaRestriction,areaRestriction,isClearAreaRestriction,\r\n mapStyle,coverageType,\r\n infoWindowData\r\n } = nextProps;\r\n let props = t.props;\r\n // 设置地图样式\r\n if(mapStyle && !t.deepEqual(mapStyle,t.props.mapStyle)){\r\n t.state.gis.setMapStyle(mapStyle);\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(!t.state.mapCreated)return;\r\n if(mapPointCollection instanceof Array && 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 pointData[2]相同的点,执行刷新\r\n pointData[1]的数据在idsForGraphicId中不存在的,执行新增\r\n pointData[0]数据中多余的id,执行删除\r\n */\r\n if(mapPoints instanceof Array && props.mapPoints instanceof Array && !t.deepEqual(mapPoints,props.mapPoints)){\r\n let oldMapPoints = props.mapPoints;\r\n let newMapPoints = mapPoints;\r\n //过滤编辑的图元\r\n if(!!t.state.editId){\r\n oldMapPoints = 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 && props.mapPolygons instanceof Array && !t.deepEqual(mapPolygons,props.mapPolygons)){\r\n let oldMapPolygons = props.mapPolygons;\r\n let newMapPolygons = mapPolygons;\r\n if(!!t.state.editId){\r\n oldMapPolygons = 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 && props.mapCircles instanceof Array && !t.deepEqual(mapCircles,props.mapCircles)){\r\n let oldMapCircles = props.mapCircles;\r\n let newMapCircles = mapCircles;\r\n if(!!t.state.editId){\r\n oldMapCircles = 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 && props.mapLines instanceof Array && !t.deepEqual(mapLines,props.mapLines)){\r\n let oldMapLines = props.mapLines;\r\n let newMapLines = mapLines;\r\n if(!!t.state.editId){\r\n oldMapLines = 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 && props.customizedBoundary instanceof Array && !t.deepEqual(customizedBoundary,props.customizedBoundary)){\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(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 && props.boundaryName instanceof Array && !t.deepEqual(boundaryName,props.boundaryName)){\r\n let newBDName = Set(boundaryName);\r\n let oldBDName = Set(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,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 && props.imageOverlays instanceof Array && !t.deepEqual(imageOverlays,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 // 比例尺控件位置改变\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 for(let i in t.GM.allParam){\r\n if(t.GM.allParam[i].geometryType == 'point'){\r\n if(t.GM.getGraphic[i]){\r\n t.GM.getGraphic[i].stopMove();\r\n }\r\n }\r\n }\r\n if(t.pointCollectTimer){\r\n clearTimeout(t.pointCollectTimer);\r\n }\r\n window.VtxMap[t.state.mapId]= null;\r\n }\r\n}\r\n\r\nexport default VortexAMap;"],"mappings":"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"}
1
+ {"version":3,"file":"AMap.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_default2","obj","__esModule","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","iter","len","arr2","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","_toPropertyKey","configurable","writable","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","arg","_toPrimitive","_typeof","String","input","hint","prim","toPrimitive","undefined","res","Number","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","getPrototypeOf","Set","Immutable","VortexAMap","_React$Component","_super","_this","GM","graphicManage","getPolygonArea","pointCollectionId","morepoints","htmlXY","x","y","px","py","isCount","stopMove","mapLeft","mapTop","clusterObj","trafficLayer","scale","tool","ruler","mousetool","districeSearch","polyEdit","circleEdit","editTimeout","heatmap","satellite","roadNet","mapCreated","csr","navigator","userAgent","toLowerCase","state","gis","mapId","pointIds","lineIds","polygonIds","circleIds","editId","editGraphic","mapZoomLevel","boundaryInfo","drawIds","point","polyline","polygon","circle","rectangle","AnchorConstant","tr","tl","bl","br","frameSelectProps","loadMapJs","loadMapComplete","Promise","resolve","reject","window","AMap","$","getScript","concat","configUrl","mapServerURL","PointCollection","all","then","setTime","allEvents","isLoading","setTimeout","init","_t$props","mapPoints","mapLines","mapPolygons","mapCircles","imageOverlays","setVisiblePoints","mapVisiblePoints","mapCenter","mapCluster","mapPointCollection","showControl","boundaryName","heatMapData","areaRestriction","coverageType","infoWindowData","setMapType","createMap","setCenter","addPoint","addLine","addPolygon","addCircle","imageUrlOverlay","setZoomLevel","cluster","satelliteSwitch","showMapTypeControl","addBaiduBoundary","showGraphicById","hideGraphicById","setAreaRestriction","heatMapOverlay","infoWindow","addPointCollection","dragMapStart","dragMapEnd","moveStart","moveEnd","zoomStart","zoomEnd","clickMap","divId","_t$props2","viewMode","mapStyle","minZoom","maxZoom","VtxMap","Map","resizeEnable","zoom","center","zooms","setMapStyle","MarkerClusterer","offsetS","Pixel","offsetT","zlt","zls","location","tp","direction","type","Scale","position","offset","ToolBar","locate","opts","subdistrict","extensions","level","DistrictSearch","RangingTool","on","_ref","points","distance","lnglats","map","item","index","lng","lat","setDefaultCursor","turnOff","mapRangingTool","MouseTool","_ref2","_t$frameSelectProps$b","drawExtData","getExtData","backobj","id","attributes","geometryType","mapLayer","geometry","setGraphic","setGraphicParam","clickGraphic","mouseOverGraphic","mouseOutGraphic","_t$dealData","dealData","lnglatAry","_extent","path","getPosition","getLng","getLat","paths","getLength","area","getArea","rings","getCenter","radius","getRadius","Math","PI","pow","close","drawEnd","callback","Function","Heatmap","nowXY","lnglatToPixel","css","top","left","display","initPropsForUser","frameSelect","clearFrameSelect","clearFrameSelectById","_ref3","_ref3$parameter","parameter","_ref3$data","data","includes","message","warn","params","random","color","lineColor","lineOpacity","lineWidth","pellucidity","lineType","draw","removeGraphic","TileLayer","Satellite","RoadNet","hide","show","imageAry","sw","ne","url","opacity","displayOnMinLevel","displayOnMaxLevel","console","swnep","Bounds","ImageLayer","bounds","setLayers","clearAll","clearMarkers","clearMap","setState","gt","sw_ne","LngLat","setLimitBounds","clearAreaRestriction","clearLimitBounds","openTrafficInfo","Traffic","zIndex","add","hideTrafficInfo","ids","fitView","setFitView","getAllOverlays","pts","split","Marker","getMoreGraphic","setZoom","getCurrentCenter","getZoomLevel","getZoom","getMapExtent","northEast","getBounds","toBounds","getNorthEast","southWest","getSouthWest","mapSize","getSize","nowCenter","calculatePointsDistance","ary","getGraphicParam","config","isAnimation","ms","setMarkers","removeCluster","removeMarkers","getMarkers","scaleOffset","scaleControl","removeControl","navigationControl","control","addControl","navigation","mapTypeControl","MapType","reloaction","right","bottom","timer","setInterval","log","clearInterval","getGraphic","gp","gg","_t$dealData2","longitude","latitude","other","getPath","bdNames","search","status","Date","getTime","districtList","boundaries","removeBaiduBoundary","removedBDNames","_this2","removedBDIds","indexOf","d","cg","max","visible","option","gradient","setOptions","setDataSet","width","height","sContent","document","createElement","infowindow","InfoWindow","content","setSize","Size","onClose","render","open","pointCollectTimer","clearTimeout","pointCollectionHtml","className","append","lngLatToContainer","options","size","shape","VotexpointCollection","GMapLib","updatePointCollection","ds","ind","reDraw","clearPointCollection","clear","clearAllPointCollection","_this3","ps","psids","isRepetition","labelContent","labelPixelX","labelPixelY","markerContentX","markerContentY","deg","markerOption","angle","clickable","cursor","bubble","extData","BAnimationType","animation","markerContent","icon","Icon","image","imageSize","canShowLabel","labelClass","label","marker","updatePoint","_this4","gc","isuserUrlLeft","getLabel","getOffset","getX","getY","getAngle","getzIndex","setLabel","setOffset","setAngle","setzIndex","setPosition","delay","animationDelay","speed","autoRotation","ddeg","rotateDeg","urlleft","moveTo","k","setAnimation","setContent","setIcon","_this5","ls","lsids","isHidden","lineOption","strokeColor","strokeOpacity","strokeWeight","strokeStyle","itt","indd","Polyline","updateLine","_this6","op","getOptions","_this7","pgs","pgsids","polygonOption","fillColor","fillOpacity","Polygon","updatePolygon","_this8","_this9","ccs","ccsids","circleOption","Circle","updateCircle","_this10","doEdit","endEdit","setDraggable","editGraphicChange","PolyEditor","CircleEditor","off","param","lnglat","pixel","clickLngLat","vtxRangingTool","turnOn","drawParam","splice","paramgcr","closeDraw","xmax","xmin","ymax","ymin","lngX","latX","removeMarker","setMap","sp","ep","spLngLat","tan","atan","disy","bias","deepEqual","a","b","is","fromJS","lnglat1","lnglat2","round","calculateDistance","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","psc","PlaceSearch","list","poiList","pois","_map","style","componentDidMount","getElementById","offsetLeft","offsetTop","componentWillUnmount","allParam","componentDidUpdate","prevProps","prevState","UNSAFE_componentWillReceiveProps","nextProps","_t$state","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","customizedBoundary","isOpenTrafficInfo","setCluster","isRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isClearAll","isclearAllPointCollection","isSetAreaRestriction","isClearAreaRestriction","_t$dataMatch","oldMapPoints","newMapPoints","_t$dataMatch2","_t$dealAdd","_t$dealUpdate","_iterator","_step","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","newBDName","oldBDName","removedBoundaryName","addedBoundaryName","JSON","stringify","React","Component","_default","exports","module"],"sources":["VtxMap/AMap/AMap.js"],"sourcesContent":["import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport {graphicManage,getPolygonArea} from '../MapToolFunction';\r\nimport Immutable from 'immutable';\r\n//公共地址配置\r\nimport configUrl from '../../default';\r\nconst {Set} = Immutable;\r\nclass VortexAMap 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.morepoints = [];//海量点集合\r\n this.htmlXY = {x:0,y:0,px:0,py:0,isCount: false};\r\n this.stopMove = true;//防止zoom事件触发时,联动的触发move事件\r\n this.mapLeft = 0;//地图offset的Left值\r\n this.mapTop = 0;//地图offset的Top值\r\n this.clusterObj = null;//聚合点类对象\r\n this.trafficLayer = null;//路况类对象\r\n this.scale = null;//比例尺控件对象\r\n this.tool = null;//比例尺工具对象\r\n this.ruler = null;//测距对象\r\n this.mousetool = null;//绘制图元对象\r\n this.districeSearch = null;//行政区划搜索对象\r\n this.polyEdit = null;//折线和多边形编辑对象\r\n this.circleEdit = null;//圆编辑对象\r\n this.editTimeout = null;//圆编辑时的延迟回调,避免重复调用\r\n this.heatmap = null;//热力图对象\r\n this.satellite = null;//底图图层对象-卫星图\r\n this.roadNet = null;//路网图层对象\r\n this.mapCreated = false;\r\n //为了样式相同,引用百度的鼠标样式\r\n this.csr = \r\n /webkit/.test(navigator.userAgent.toLowerCase()) ?\r\n 'url(\"http://api.map.baidu.com/images/ruler.cur\") 3 6, crosshair' :\r\n 'url(\"http://api.map.baidu.com/images/ruler.cur\"), crosshair';\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 }\r\n this.AnchorConstant = {\r\n tr: 'RT',\r\n tl: 'LT',\r\n bl: 'LB',\r\n br: 'RB'\r\n }\r\n this.frameSelectProps = {}\r\n this.loadMapJs();\r\n }\r\n loadMapJs(){\r\n this.loadMapComplete = new Promise((resolve,reject)=>{\r\n if(window.AMap){\r\n resolve(window.AMap);\r\n }\r\n else{\r\n $.getScript(`${configUrl.mapServerURL}/A_content.js`,()=>{\r\n $.getScript('//webapi.amap.com/maps?v=1.4.14&key=e59ef9272e3788ac59d9a22f0f8cf9fe&plugin=AMap.Geolocation,AMap.MarkerClusterer,AMap.MapType,AMap.Scale,AMap.ToolBar,AMap.DistrictSearch,AMap.RangingTool,AMap.MouseTool,AMap.PolyEditor,AMap.CircleEditor,AMap.PlaceSearch,AMap.Heatmap',()=>{\r\n let PointCollection = new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/GPointCollection.js`,()=>{\r\n resolve();\r\n });\r\n });\r\n Promise.all([PointCollection]).then(()=>{\r\n (function setTime() {\r\n let allEvents = [\r\n window.AMap,\r\n 'MarkerClusterer',\r\n 'MapType',\r\n 'Scale',\r\n 'ToolBar',\r\n 'DistrictSearch',\r\n 'RangingTool',\r\n 'MouseTool',\r\n 'PolyEditor',\r\n 'CircleEditor',\r\n 'PlaceSearch',\r\n 'Heatmap'\r\n ];\r\n let isLoading = true;\r\n for(let i = 0; i <= allEvents.length - 1; i++){\r\n if(i === 0){\r\n if(!allEvents[i]){\r\n isLoading = false;\r\n break;\r\n }\r\n }else{\r\n if(!allEvents[0][allEvents[i]]){\r\n isLoading = false;\r\n break;\r\n }\r\n }\r\n }\r\n if(isLoading){\r\n resolve(window.AMap);\r\n }else{\r\n setTimeout(()=>{\r\n setTime();\r\n },50)\r\n }\r\n })();\r\n })\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 imageOverlays,\r\n setVisiblePoints,mapVisiblePoints,\r\n mapCenter,mapZoomLevel,\r\n mapCluster,mapPointCollection,\r\n showControl,boundaryName,heatMapData,\r\n areaRestriction,coverageType,\r\n infoWindowData\r\n } = t.props;\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType){\r\n t.setMapType(coverageType);\r\n }\r\n //创建地图\r\n t.createMap();\r\n //初始化中心点\r\n t.setCenter(mapCenter);\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(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(t.props.showGraphicById){\r\n t.props.showGraphicById(t.showGraphicById.bind(t));\r\n }\r\n //回调隐藏方法\r\n if(t.props.hideGraphicById){\r\n t.props.hideGraphicById(t.hideGraphicById.bind(t));\r\n }\r\n //设置区域限制\r\n if(areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\r\n t.setAreaRestriction(areaRestriction);\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 t.addPointCollection(mapPointCollection);\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 //地图方法\r\n createMap(divId){\r\n let t = this;\r\n const {viewMode,mapStyle,mapCenter,mapId,mapZoomLevel,minZoom,maxZoom} = t.props;\r\n //缓存Map的对象,方便后期的功能操作\r\n //后期不会操作gis数据,直接通过state缓存.\r\n if(window.VtxMap){\r\n window.VtxMap[mapId] = null;\r\n }else{\r\n window.VtxMap = {};\r\n }\r\n window.VtxMap[mapId] = t.state.gis = new AMap.Map(mapId.toString(),{\r\n viewMode: viewMode?viewMode:'2D',\r\n resizeEnable: true,\r\n //zoom等级,和百度一样默认10\r\n zoom: mapZoomLevel || 10,\r\n //不传中心点,高德地图默认使用用户所在地的城市为中心点\r\n center: (mapCenter && mapCenter instanceof Array && mapCenter.length == 2)?mapCenter:[116.400433,39.906705],\r\n zooms: [minZoom || 3, maxZoom || 18]\r\n });\r\n if(mapStyle){\r\n t.state.gis.setMapStyle(mapStyle)\r\n }\r\n //聚合点类对象\r\n t.clusterObj = new AMap.MarkerClusterer(t.state.gis,[]);\r\n //比例尺控件对象\r\n /*算出比例尺位置偏移量*/\r\n let offsetS = new AMap.Pixel(60,17);\r\n let offsetT = new AMap.Pixel(25,10);\r\n let zlt = 'RB';\r\n let zls = 'RB';\r\n if(t.props.showControl){\r\n switch(t.props.showControl.location){\r\n case 'tl':\r\n zlt = 'LT';\r\n zls = 'LB';\r\n offsetS = new AMap.Pixel(10,17);\r\n offsetT = new AMap.Pixel(5,10);\r\n break;\r\n case 'bl':\r\n zlt = 'LB';\r\n zls = 'LB';\r\n offsetS = new AMap.Pixel(60,19);\r\n offsetT = new AMap.Pixel(5,12);\r\n break;\r\n case 'tr':\r\n zlt = 'RT';\r\n zls = 'RB';\r\n offsetS = new AMap.Pixel(25,17);\r\n offsetT = new AMap.Pixel(25,10);\r\n break;\r\n case 'br':\r\n zlt = 'RB';\r\n zls = 'RB';\r\n offsetS = new AMap.Pixel(70,17);\r\n offsetT = new AMap.Pixel(25,10);\r\n break;\r\n }\r\n //默认是all\r\n let tp = {\r\n ruler: true,\r\n direction: true\r\n }\r\n switch(t.props.showControl.type){\r\n case 'small':\r\n tp = {\r\n ruler: false,\r\n direction: true\r\n }\r\n break;\r\n case 'pan':\r\n tp = {\r\n ruler: false,\r\n direction: true\r\n }\r\n break;\r\n case 'zoom':\r\n tp = {\r\n ruler: false,\r\n direction: false\r\n }\r\n break;\r\n }\r\n t.scale = new AMap.Scale({\r\n position: zls,\r\n offset: offsetS\r\n });\r\n //比例尺工具对象\r\n t.tool = new AMap.ToolBar({\r\n position: zlt,\r\n offset: offsetT,\r\n locate: false,\r\n ...tp\r\n });\r\n }\r\n //搜索服务\r\n let opts = {\r\n subdistrict: 1, //返回下一级行政区\r\n extensions: 'all', //返回行政区边界坐标组等具体信息\r\n level: 'district' //查询行政级别为 市\r\n };\r\n //实例化DistrictSearch\r\n t.districeSearch = new AMap.DistrictSearch(opts);\r\n //实例化RangingTool\r\n t.ruler = new AMap.RangingTool(t.state.gis);\r\n t.ruler.on('end',({type,polyline,points,distance})=>{\r\n let lnglats = points.map((item,index)=>{\r\n return [item.lng,item.lat];\r\n })\r\n //恢复鼠标默认样式\r\n t.state.gis.setDefaultCursor();\r\n t.ruler.turnOff();\r\n if(typeof(t.props.mapRangingTool) ===\"function\"){\r\n t.props.mapRangingTool({\r\n distance,lnglats\r\n });\r\n }\r\n });\r\n //绘制图元类\r\n t.mousetool = new AMap.MouseTool(t.state.gis);\r\n //绘制完后的回调\r\n t.mousetool.on('draw',({type,obj})=>{\r\n let drawExtData = obj.getExtData();\r\n let backobj = {\r\n id: drawExtData.id,\r\n attributes: drawExtData.attributes,\r\n geometryType: drawExtData.type == 'rectangle'?'polygon':drawExtData.type,\r\n mapLayer: obj,\r\n geometry: {\r\n type: drawExtData.type == 'rectangle'?'polygon':drawExtData.type\r\n }\r\n };\r\n //缓存绘制的图元信息\r\n t.GM.setGraphic(drawExtData.id,obj);\r\n t.GM.setGraphicParam(drawExtData.id,backobj);\r\n //添加点击事件\r\n obj.on( 'click', (e)=>{\r\n t.clickGraphic(drawExtData.id,e);\r\n });\r\n obj.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(drawExtData.id,e);\r\n });\r\n obj.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(drawExtData.id,e);\r\n });\r\n\r\n //区别点和圆的经纬度数据处理\r\n let {lnglatAry,_extent,path} = t.dealData(obj);\r\n //处理返回数据\r\n switch(drawExtData.type){\r\n case 'point':\r\n backobj.geometry.x = obj.getPosition().getLng();\r\n backobj.geometry.y = obj.getPosition().getLat();\r\n break;\r\n case 'polyline':\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.paths = path;\r\n backobj.geometry._extent = _extent;\r\n backobj.distance = obj.getLength();\r\n break;\r\n case 'polygon':\r\n backobj.area = obj.getArea();\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.rings = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'rectangle':\r\n backobj.area = obj.getArea();\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.rings = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'circle':\r\n backobj.geometry.x = obj.getCenter().getLng();\r\n backobj.geometry.y = obj.getCenter().getLat();\r\n backobj.geometry.radius = obj.getRadius();\r\n backobj.area = Math.PI*Math.pow(backobj.geometry.radius,2);\r\n break;\r\n }\r\n //恢复鼠标默认样式\r\n t.state.gis.setDefaultCursor();\r\n t.mousetool.close();\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 t.heatmap = new AMap.Heatmap(t.state.gis);\r\n t.state.gis.on('mapmove',(e)=>{\r\n if(t.htmlXY.isCount){\r\n let nowXY = t.state.gis.lnglatToPixel(t.state.gis.getCenter());\r\n $(`#${t.pointCollectionId}`).css({\r\n top: t.htmlXY.y - nowXY.y,\r\n left: t.htmlXY.x - nowXY.x,\r\n display: 'none'\r\n });\r\n }\r\n })\r\n t.initPropsForUser();\r\n }\r\n // 初始化对外方法\r\n initPropsForUser(){\r\n const t = this;\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 }\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 /* \r\n 切换地图矢量图和卫星图背景\r\n */\r\n setMapType(type){\r\n if(!this.satellite && type=='wx'){\r\n this.satellite = new AMap.TileLayer.Satellite({map: this.state.gis});\r\n this.roadNet = new AMap.TileLayer.RoadNet({map: this.state.gis})\r\n }\r\n if(this.satellite){\r\n switch (type) {\r\n case 'sl':\r\n this.satellite.hide();\r\n this.roadNet.hide();\r\n break;\r\n case 'wx':\r\n this.satellite.show();\r\n this.roadNet.show();\r\n break;\r\n }\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 AMap.Bounds(sw, ne),\r\n imageUrlOverlay = new AMap.ImageLayer({\r\n url,\r\n zooms: [displayOnMinLevel || 3,displayOnMaxLevel || 18],\r\n bounds: swnep\r\n });\r\n t.state.gis.setLayers([new AMap.TileLayer(),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 t.clusterObj.clearMarkers();\r\n t.state.gis.clearMap();\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 && gt instanceof Array && gt.length == 2){\r\n t.state.gis.setCenter(gt);\r\n // t.setState({center:gt});\r\n }else{\r\n t.state.gis.setCenter([116.400433,39.906705]);\r\n // t.setState({center:[117.468021,39.890092]});\r\n }\r\n }\r\n /*地图区域限制*/\r\n setAreaRestriction(sw_ne){\r\n let bounds = new AMap.Bounds(new AMap.LngLat(sw_ne[0][0],sw_ne[0][1]),new AMap.LngLat(sw_ne[1][0],sw_ne[1][1]));\r\n this.state.gis.setLimitBounds(bounds);\r\n }\r\n clearAreaRestriction(){\r\n this.state.gis.clearLimitBounds();\r\n }\r\n //展示路况信息\r\n openTrafficInfo(){\r\n let t = this;\r\n //判断是否已经创建路况对象\r\n if(this.trafficLayer){\r\n this.trafficLayer.show();\r\n }else{\r\n //路况类对象\r\n let trafficLayer = new AMap.TileLayer.Traffic({\r\n zIndex: 10\r\n });\r\n t.state.gis.add(trafficLayer);\r\n this.trafficLayer = trafficLayer;\r\n }\r\n }\r\n //隐藏路况信息\r\n hideTrafficInfo(){\r\n if(this.trafficLayer){\r\n this.trafficLayer.hide();\r\n }\r\n }\r\n //设置指定图元展示 高德只有zoom和center全适应,单适应暂时无法实现\r\n setVisiblePoints(obj){\r\n let t = this;\r\n let ids = [];\r\n switch(obj.fitView){\r\n case 'point':\r\n t.state.gis.setFitView(t.state.gis.getAllOverlays('marker'));\r\n break;\r\n case 'line':\r\n t.state.gis.setFitView(t.state.gis.getAllOverlays('polyline'));\r\n break;\r\n case 'polygon':\r\n t.state.gis.setFitView(t.state.gis.getAllOverlays('polygon'));\r\n break;\r\n case 'circle':\r\n t.state.gis.setFitView(t.state.gis.getAllOverlays('circle'));\r\n break;\r\n case 'all':\r\n let pts = [...t.state.gis.getAllOverlays('marker'),...t.state.gis.getAllOverlays('polyline'),\r\n ...t.state.gis.getAllOverlays('polygon'),...t.state.gis.getAllOverlays('circle')];\r\n t.state.gis.setFitView(pts);\r\n break;\r\n default:\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 // let l = new AMap.LngLat(ids[0][0],ids[0][1]),\r\n // r = new AMap.LngLat(ids[1][0],ids[1][1]); \r\n // let b = new AMap.Bounds(l,r); \r\n // t.state.gis.setBounds(b);\r\n // fix: 高德地图在[[lng,lat],[lng,lat]]方式下的最佳视野\r\n t.state.gis.setFitView(ids.map((item) => {\r\n return new AMap.Marker({\r\n position: new AMap.LngLat(item[0], item[1]),\r\n });\r\n }));\r\n }else{\r\n t.state.gis.setFitView(this.GM.getMoreGraphic(ids));\r\n }\r\n break;\r\n }\r\n }\r\n //设置地图比例尺\r\n setZoomLevel (zoom) {\r\n let t =this;\r\n t.state.gis.setZoom(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 northEast = (this.props.viewMode == '3D'?gis.getBounds().toBounds() : gis.getBounds()).getNorthEast(),\r\n southWest = (this.props.viewMode == '3D'?gis.getBounds().toBounds() : gis.getBounds()).getSouthWest();\r\n let obj = {\r\n mapSize: gis.getSize(),\r\n nowCenter: t.getCurrentCenter(),\r\n northEast: {\r\n lat: northEast.lat,\r\n lng: northEast.lng\r\n },\r\n southWest: {\r\n lat: southWest.lat,\r\n lng: southWest.lng\r\n },\r\n zoom: t.getZoomLevel()\r\n }\r\n obj.radius = t.calculatePointsDistance([obj.nowCenter.lng,obj.nowCenter.lat],[\r\n northEast.getLng(),northEast.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 ary = ary.filter((item,index)=>{\r\n return !(t.GM.getGraphicParam(item).attributes.config || {}).isAnimation;\r\n });\r\n let ms = this.GM.getMoreGraphic(ary).filter((item,index)=>{\r\n return !item && item != 0 ? false : true;\r\n });\r\n t.clusterObj.setMarkers(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.getMarkers());\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='RT',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 if(config.showControl.offset && config.showControl.offset.length>0){\r\n offset = new AMap.Pixel(config.showControl.offset[0],config.showControl.offset[1])\r\n scaleOffset = new AMap.Pixel(config.showControl.offset[0] + 70,config.showControl.offset[1])\r\n }\r\n // 添加比例尺\r\n let control = new AMap.Scale({position: location, offset: scaleOffset});\r\n t.state.gis.addControl(control);\r\n t.scaleControl = control;\r\n // 包含平移和缩放按钮\r\n let navigation = new AMap.ToolBar({position: location, offset}); \r\n t.state.gis.addControl(navigation);\r\n t.navigationControl = navigation;\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 showMapTypeControl (props){\r\n let t = this,location = 'RT',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 // 地图切换控件\r\n let control = new AMap.MapType({position: location, offset: offset});\r\n t.state.gis.addControl(control);\r\n t.mapTypeControl = control;\r\n\r\n // TODO,MapType没有这些属性,所以下面定位和偏移不生效,手动修改\r\n function reloaction() {\r\n if (location == 'RT') {\r\n $('div.amap-maptypecontrol').css({ right: 0, top: 0, left: 'inherit', bottom: 'inherit' });\r\n } else if (location == 'LT') {\r\n $('div.amap-maptypecontrol').css({ left: 0 + 64, top: 0, right: 'inherit', bottom: 'inherit' });\r\n } else if (location == 'LB') {\r\n $('div.amap-maptypecontrol').css({ left: 0 + 64, bottom: 0 + 84, right: 'inherit', top: 'inherit' });\r\n } else if (location == 'RB') {\r\n $('div.amap-maptypecontrol').css({ right: 0, bottom: 0 + 84, left: 'inherit', top: 'inherit' });\r\n }\r\n if (config.satelliteSwitch.offset && config.satelliteSwitch.offset.length > 0) {\r\n if (location == 'RT') {\r\n $('div.amap-maptypecontrol').css({ right: config.satelliteSwitch.offset[0], top: config.satelliteSwitch.offset[1], left: 'inherit', bottom: 'inherit' });\r\n } else if (location == 'LT') {\r\n $('div.amap-maptypecontrol').css({ left: config.satelliteSwitch.offset[0] + 64, top: config.satelliteSwitch.offset[1], right: 'inherit', bottom: 'inherit' });\r\n } else if (location == 'LB') {\r\n $('div.amap-maptypecontrol').css({ left: config.satelliteSwitch.offset[0] + 64, bottom: config.satelliteSwitch.offset[1] + 84, right: 'inherit', top: 'inherit' });\r\n } else if (location == 'RB') {\r\n $('div.amap-maptypecontrol').css({ right: config.satelliteSwitch.offset[0], bottom: config.satelliteSwitch.offset[1] + 84, left: 'inherit', top: 'inherit' });\r\n }\r\n }\r\n }\r\n if ($('div.amap-maptypecontrol').length > 0) {\r\n reloaction();\r\n } else {\r\n let timer = setInterval(() => {\r\n console.log(123);\r\n if ($('div.amap-maptypecontrol').length > 0) {\r\n clearInterval(timer)\r\n reloaction();\r\n }\r\n }, 500)\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 let {lnglatAry,_extent,path} = t.dealData(gg);\r\n switch(gp.geometryType){\r\n case 'point':\r\n lng = gg.getPosition().getLng();\r\n lat = gg.getPosition().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.getPath().map((item,index)=>{\r\n return [item.lng,item.lat]\r\n });\r\n p = {\r\n ...gp,\r\n lnglatAry,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n paths: pts,\r\n _extent\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.getPath().map((item,index)=>{\r\n return [item.lng,item.lat]\r\n });\r\n p = {\r\n ...gp,\r\n lnglatAry,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n rings: pts,\r\n _extent\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 showGraphicById (id){\r\n let t = this;\r\n t.GM.getGraphic(id).show();\r\n }\r\n //隐藏图元\r\n hideGraphicById(id){\r\n let t = this;\r\n t.GM.getGraphic(id).hide();\r\n }\r\n //画出对应边界线 name区域名\r\n addBaiduBoundary(bdNames){\r\n let t = this;\r\n bdNames.forEach(name=>{\r\n t.districeSearch.search(name,(status,result)=>{\r\n if(status == 'complete'){\r\n let id = 'boundary' + new Date().getTime();\r\n let paths = result.districtList[0].boundaries[0].map((item,index)=>{\r\n return [item.lng,item.lat];\r\n });\r\n t.addPolygon([{id,rings:paths}]);\r\n t.state.boundaryInfo.push({id,name:name});\r\n } \r\n });\r\n })\r\n }\r\n removeBaiduBoundary(removedBDNames){\r\n let removedBDIds = this.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)>-1).map(item=>item.id);\r\n this.setState({boundaryInfo:this.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)==-1)});\r\n removedBDIds.forEach(id=>{\r\n this.removeGraphic(id,'polygon');\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 let option = {\r\n radius: cg.radius,\r\n opacity: [0,cg.opacity]\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.heatmap.show();\r\n }else{\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 AMap.InfoWindow({\r\n // isCustom: true,\r\n content: sContent\r\n });\r\n infowindow.setSize(new AMap.Size(cg.width, cg.height + 20))\r\n\r\n if(d.onClose instanceof Function){\r\n infowindow.on(\"close\", 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.open(t.state.gis,[d.lng,d.lat]);\r\n\r\n } else {\r\n infowindow.close();\r\n }\r\n }\r\n //添加海量点\r\n addPointCollection(data = []){\r\n let t = this;\r\n if(!$(`#${t.state.mapId} .amap-layers`).length){\r\n if(t.pointCollectTimer){\r\n clearTimeout(t.pointCollectTimer);\r\n }\r\n t.pointCollectTimer = setTimeout(() => {\r\n t.addPointCollection(data);\r\n }, 50);\r\n }else{\r\n if(!$(`#${t.pointCollectionId}`).length){\r\n //创建海量点图层\r\n //加上mapId 实现多地图\r\n t.pointCollectionId = `${t.state.mapId}_${t.pointCollectionId}`\r\n let pointCollectionHtml = document.createElement('div');\r\n pointCollectionHtml.id = t.pointCollectionId;\r\n pointCollectionHtml.class = 'vtx_gmap_html_pointCollection_a';\r\n pointCollectionHtml.className = 'vtx_gmap_html_pointCollection_a';\r\n $($(`#${t.state.mapId} .amap-layers`)[0]).append(pointCollectionHtml);\r\n }else{\r\n \r\n }\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 AMap.LngLat(d.lng,d.lat);\r\n p = t.state.gis.lngLatToContainer(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().width,\r\n height: t.state.gis.getSize().height,\r\n mapId: t.props.mapId\r\n };\r\n let VotexpointCollection = new GMapLib.PointCollection(points,options);\r\n t.morepoints.push({\r\n id: d.id,\r\n value: VotexpointCollection\r\n });\r\n VotexpointCollection.draw();\r\n })\r\n }\r\n }\r\n //更新海量点\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 AMap.LngLat(d.lng,d.lat);\r\n p = t.state.gis.lngLatToContainer(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().width,\r\n height: t.state.gis.getSize().height\r\n };\r\n item.value.reDraw(points,options);\r\n }\r\n })\r\n })\r\n }\r\n //删除海量点\r\n clearPointCollection(ids = []){\r\n let t = this;\r\n ids.map((id,ind)=>{\r\n t.morepoints.map(function (item,index) {\r\n if(id == item.id){\r\n item.value.clear();\r\n }\r\n });\r\n });\r\n }\r\n //删除全部海量点\r\n 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 addPoint(mapPoints,type){\r\n let t = this;\r\n let ps = [];\r\n let psids = [...t.state.pointIds];\r\n mapPoints.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`加点id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n width: 30,\r\n height: 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n markerContentX: -13,\r\n markerContentY: -42,\r\n zIndex: 100,\r\n deg: 0,\r\n }\r\n //初始化默认数据\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //覆盖物参数\r\n let markerOption = {\r\n position: new AMap.LngLat(item.longitude,item.latitude),\r\n offset: new AMap.Pixel(cg.markerContentX,cg.markerContentY),\r\n zIndex: cg.zIndex,\r\n angle: cg.deg,\r\n clickable: true,\r\n cursor: 'pointer',\r\n bubble: true,\r\n extData: {\r\n id: item.id\r\n }\r\n }\r\n if(cg.BAnimationType == 0){\r\n markerOption.animation ='AMAP_ANIMATION_BOUNCE';\r\n }else if(cg.BAnimationType == 1){\r\n markerOption.animation = 'AMAP_ANIMATION_DROP';\r\n }else{\r\n markerOption.animation = 'AMAP_ANIMATION_NONE';\r\n }\r\n //判断html还是图片\r\n if(!!item.markerContent){\r\n markerOption.content = item.markerContent;\r\n }else{\r\n if(item.url){\r\n // 解决自定义的图标设置图片大小无效\r\n // if(item.url.indexOf('http://') > -1 || item.url.indexOf('https://') > -1){\r\n markerOption.icon = new AMap.Icon({\r\n size: new AMap.Size(cg.width,cg.height),\r\n image: item.url,\r\n imageSize: new AMap.Size(cg.width,cg.height)\r\n })\r\n // }else{\r\n // markerOption.icon = item.url;\r\n // }\r\n }\r\n }\r\n //是否展示label\r\n if(item.canShowLabel){\r\n let labelClass = item.labelClass || 'label-content';\r\n markerOption.label = {\r\n content: `<div class='${labelClass}'>${cg.labelContent}</div>`,\r\n offset: new AMap.Pixel(cg.labelPixelX,cg.labelPixelY)\r\n }\r\n }\r\n //获得覆盖物对象\r\n let marker = new AMap.Marker(markerOption);\r\n //添加点击事件\r\n marker.on( 'click', (e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n marker.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n marker.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n ps.push(marker);\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 }\r\n );\r\n });\r\n //统一加点\r\n t.state.gis.add(ps);\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),isuserUrlLeft = false;\r\n let cg = {\r\n width : 30,\r\n height : 30,\r\n labelContent: gc.getLabel(),\r\n markerContentX: gc.getOffset().getX(),\r\n markerContentY: gc.getOffset().getY(),\r\n deg: gc.getAngle(),\r\n zIndex: gc.getzIndex(),\r\n labelClass: 'label-content'\r\n };\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //是否展示label\r\n if(item.canShowLabel){\r\n cg.labelPixelX= cg.labelPixelX || gc.getLabel() ? gc.getLabel().offset.getX() : 0;\r\n cg.labelPixelY= cg.labelPixelY || gc.getLabel() ? gc.getLabel().offset.getY(): 34;\r\n cg.labelContent= cg.labelContent || gc.getLabel().offset.content;\r\n let labelClass = item.labelClass || 'label-content';\r\n //更新label\r\n gc.setLabel({\r\n content: `<div class='${labelClass}'>${cg.labelContent}</div>`,\r\n offset: new AMap.Pixel(cg.labelPixelX,cg.labelPixelY)\r\n })\r\n }\r\n //更新偏移量\r\n gc.setOffset(new AMap.Pixel(cg.markerContentX,cg.markerContentY));\r\n //设置偏转角度\r\n gc.setAngle(cg.deg);\r\n //设置点的标记添加顺序\r\n gc.setzIndex(cg.zIndex);\r\n //更新经纬度\r\n if(!item.config.isAnimation){\r\n gc.setPosition(new AMap.LngLat(item.longitude,item.latitude));\r\n }else{\r\n let distance = t.calculatePointsDistance([item.longitude,item.latitude],[\r\n gc.getPosition().getLng(),gc.getPosition().getLat()]);\r\n if(distance > 0){\r\n let delay = item.config.animationDelay || 3;\r\n let speed = distance/delay*3600/1000;\r\n if(cg.autoRotation){\r\n let ddeg = t.rotateDeg(gc.getPosition(),[item.longitude,item.latitude]);\r\n if(item.urlleft && (ddeg < -90 && ddeg > -270)){\r\n ddeg += 180;\r\n isuserUrlLeft = true;\r\n }\r\n gc.setAngle(ddeg);\r\n }\r\n gc.moveTo(new AMap.LngLat(item.longitude,item.latitude),speed,function(k){\r\n return k;\r\n })\r\n }\r\n }\r\n if(item.config.BAnimationType == 0){\r\n gc.setAnimation('AMAP_ANIMATION_BOUNCE');\r\n }else if(item.config.BAnimationType == 1){\r\n gc.setAnimation('AMAP_ANIMATION_DROP');\r\n }else{\r\n gc.setAnimation('AMAP_ANIMATION_NONE');\r\n }\r\n //判断html还是图片\r\n if(!!item.markerContent){\r\n gc.setContent(item.markerContent);\r\n }else{\r\n if(isuserUrlLeft){\r\n gc.setIcon(item.urlleft);\r\n }else{\r\n if(item.url){\r\n // if(item.url.indexOf('http://') > -1 || item.url.indexOf('https://') > -1){\r\n gc.setIcon(new AMap.Icon({\r\n size: new AMap.Size(cg.width,cg.height),\r\n image: item.url,\r\n imageSize: new AMap.Size(cg.width,cg.height)\r\n }));\r\n // }else{\r\n // gc.setIcon(item.url);\r\n // }\r\n }\r\n }\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 }\r\n );\r\n }else{\r\n console.warn(`更新的点位id不存在!`);\r\n return false;\r\n }\r\n })\r\n }\r\n //添加线\r\n addLine(mapLines,type){\r\n let t = this;\r\n let ls = [];\r\n let lsids = [...t.state.lineIds];\r\n //遍历添加线(图元)\r\n mapLines.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`多折线id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多折线点位数据不符合,直接跳过\r\n if(!(item.paths && item.paths.length >= 2)){\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',\r\n isHidden: false\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let lineOption = {\r\n strokeColor: cg.color,\r\n strokeOpacity: cg.pellucidity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n path: (item.paths || []).map((itt,indd)=>{\r\n return [...itt];\r\n }),\r\n cursor: 'pointer',\r\n bubble: true\r\n }\r\n let polyline = new AMap.Polyline(lineOption);\r\n //添加点击事件\r\n polyline.on( 'click', (e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n polyline.on( 'mouseover', (e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n polyline.on( 'mouseout', (e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存图元的数据,便于后期操作\r\n let pts = item.paths.map((itt,ind)=>{\r\n return [...itt]\r\n });\r\n this.GM.setGraphic(item.id,polyline).setGraphicParam(\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 ls.push(polyline);\r\n lsids.push(item.id);\r\n //添加线\r\n // polyline.setMap(t.state.gis);\r\n //根据参数判断是否显示多折线\r\n if(cg.isHidden){\r\n polyline.hide();\r\n }else{\r\n polyline.show();\r\n }\r\n //state中缓存 line的id...用于数据判断\r\n t.state.lineIds.push(item.id);\r\n // polyline.on('click', function(e) {\r\n // let obj = {\r\n // type: 'polyline',\r\n // attributes: {...item.other,...{config:item.config}},\r\n // top: e.pixel.y,\r\n // left: e.pixel.x,\r\n // e: e\r\n // }\r\n // //接入点击事件\r\n // });\r\n });\r\n t.state.gis.add(ls);\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 let op = gc.getOptions();\r\n //根据参数判断是否显示多折线\r\n if(item.config && item.config.isHidden){\r\n gc.hide();\r\n }else{\r\n gc.show();\r\n }\r\n //获取原有的线属性,转换key值\r\n let cg = {\r\n color: op.strokeColor,\r\n pellucidity: op.strokeOpacity,\r\n lineWidth: op.strokeWeight,\r\n lineType: op.strokeStyle\r\n };\r\n //重新初始化值\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //重新赋值\r\n let lineOption = {\r\n strokeColor: cg.color,\r\n strokeOpacity: cg.pellucidity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n path: (item.paths || op.path).map((itt,indd)=>{\r\n return [...itt];\r\n }),\r\n cursor: 'pointer'\r\n }\r\n let pts = item.paths.map((itt,ind)=>{\r\n return [...itt]\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 //更新线\r\n gc.setOptions(lineOption);\r\n }else{\r\n console.warn(`更新的多折线id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //添加面\r\n addPolygon(mapPolygons){\r\n let t = this;\r\n let pgs = [];\r\n let pgsids = [...t.state.polygonIds];\r\n //遍历添加面(图元)\r\n mapPolygons.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`多边形id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多边形点位数据不符合,直接跳过\r\n if(!(item.rings && item.rings.length >= 3)){\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期跟百度一起加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let polygonOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity,\r\n path: (item.rings || []).map((itt,indd)=>{\r\n return [...itt];\r\n }),\r\n cursor: 'pointer',\r\n bubble: true\r\n }\r\n let polygon = new AMap.Polygon(polygonOption);\r\n //添加点击事件\r\n polygon.on( 'click', (e)=>{\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((itt,ind)=>{\r\n return [...itt]\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 pgs.push(polygon);\r\n pgsids.push(item.id);\r\n\r\n });\r\n t.state.gis.add(pgs);\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 let op = gc.getOptions();\r\n //根据参数判断是否显示面\r\n // if(item.config && item.config.isHidden){\r\n // gc.hide();\r\n // }else{\r\n // gc.show();\r\n // }\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: op.strokeStyle,\r\n lineWidth: op.strokeWeight,\r\n lineColor: op.strokeColor,\r\n lineOpacity: op.strokeOpacity,\r\n color: op.fillColor,\r\n pellucidity: op.fillOpacity\r\n }\r\n //重新初始化值\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //重新赋值\r\n let polygonOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity,\r\n path: (item.rings || op.path).map((itt,indd)=>{\r\n return [...itt];\r\n }),\r\n cursor: 'pointer'\r\n }\r\n let pts = item.rings.map((itt,ind)=>{\r\n return [...itt]\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 //更新线\r\n gc.setOptions(polygonOption);\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 ccs = [];\r\n let ccsids = [...t.state.circleIds];\r\n mapCircles.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`圆id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //圆 点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期跟百度一起加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //初始化配置数据\r\n let circleOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity,\r\n center: new AMap.LngLat(item.longitude,item.latitude),\r\n radius: item.radius,\r\n cursor: 'pointer',\r\n bubble: true\r\n }\r\n //创建圆对象\r\n let circle = new AMap.Circle(circleOption);\r\n //添加点击事件\r\n circle.on( 'click', (e)=>{\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 ccs.push(circle);\r\n ccsids.push(item.id);\r\n });\r\n t.state.gis.add(ccs);\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 let op = gc.getOptions();\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: op.strokeStyle,\r\n lineWidth: op.strokeWeight,\r\n lineColor: op.strokeColor,\r\n lineOpacity: op.strokeOpacity,\r\n color: op.fillColor,\r\n pellucidity: op.fillOpacity\r\n }\r\n //重新初始化值\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //重新赋值\r\n let circleOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity,\r\n center: new AMap.LngLat(item.longitude,item.latitude) || op.center,\r\n radius: !item.radius && item != 0?op.radius:item.radius,\r\n cursor: 'pointer'\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 //更新线\r\n gc.setOptions(circleOption);\r\n }else{\r\n console.warn(`更新的圆id不存在!`);\r\n return false;\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(!!t.state.editId){\r\n t.endEdit();\r\n }\r\n switch(ms.geometryType){\r\n case 'point':\r\n ms.mapLayer.setDraggable(true);\r\n ms.mapLayer.on('dragend',t.editGraphicChange,t);\r\n break;\r\n case 'polyline':\r\n // break;\r\n case 'polygon':\r\n case 'rectangle':\r\n t.polyEdit = new AMap.PolyEditor(t.state.gis,ms.mapLayer);\r\n t.polyEdit.open();\r\n t.polyEdit.on('adjust',t.editGraphicChange,t);\r\n break;\r\n case 'circle':\r\n t.circleEdit = new AMap.CircleEditor(t.state.gis,ms.mapLayer);\r\n t.circleEdit.open();\r\n t.circleEdit.on('move',t.editGraphicChange,t);\r\n t.circleEdit.on('adjust',t.editGraphicChange,t);\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 switch(ms.geometryType){\r\n case 'point':\r\n ms.mapLayer.setDraggable(false);\r\n ms.mapLayer.off('dragend',t.editGraphicChange,t);\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n t.polyEdit.close();\r\n t.polyEdit.off('adjust',t.editGraphicChange,t);\r\n break;\r\n case 'circle':\r\n t.circleEdit.close();\r\n t.circleEdit.off('move',t.editGraphicChange,t);\r\n t.circleEdit.off('adjust',t.editGraphicChange,t);\r\n break;\r\n }\r\n let editGraphic = t.state.editGraphic;\r\n if(editGraphic){\r\n t.setState({\r\n editId: '',\r\n editGraphic: ''\r\n },()=>{\r\n t.props.editGraphicChange(editGraphic);\r\n })\r\n }\r\n }\r\n //编辑变动后\r\n editGraphicChange(e){\r\n let t = this;\r\n let ms = t.getGraphic(t.state.editId);\r\n let obj = {\r\n id: t.state.editId,\r\n e: e\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 obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n obj.distance = ms.mapLayer.getLength();\r\n break;\r\n case 'polygon':\r\n case 'rectangle':\r\n obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n obj.area = e.target.getArea();\r\n break;\r\n case 'circle':\r\n if(!('lnglat' in e)){\r\n obj.e.lnglat = new AMap.LngLat(ms.geometry.x,ms.geometry.y);\r\n }\r\n if(!('radius' in e)){\r\n obj.e.radius = ms.geometry.radius;\r\n }\r\n obj.geometry = ms.geometry;\r\n obj.param = ms;\r\n obj.area = Math.pow(ms.geometry.radius,2)*Math.PI;\r\n break;\r\n }\r\n if(ms.geometryType == 'circle'){\r\n if(t.editTimeout){\r\n clearTimeout(t.editTimeout);\r\n }\r\n t.editTimeout = setTimeout(()=>{\r\n t.setState({\r\n editGraphic: obj\r\n },()=>{\r\n t.props.editGraphicChange(obj);\r\n });\r\n },300);\r\n }else{\r\n t.setState({\r\n editGraphic: obj\r\n },()=>{\r\n t.props.editGraphicChange(obj);\r\n });\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.pixel.y + t.mapTop,//当前点所在的位置(屏幕)\r\n left: e.pixel.x + t.mapLeft,\r\n e: e\r\n }\r\n t.props.clickGraphic(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.on('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.on('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.on('movestart', function(e) {\r\n t.htmlXY = {\r\n px:0,py:0,isCount: true,\r\n ...t.state.gis.lnglatToPixel(t.state.gis.getCenter())\r\n };\r\n $(`#${t.pointCollectionId}`).css({top: '0px',left: '0px',display: 'none'});\r\n t.updatePointCollection(t.props.mapPointCollection);\r\n if(t.stopMove){\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.on('moveend', function(e) {\r\n t.htmlXY.isCount = false;\r\n $(`#${t.pointCollectionId}`).css({top: '0px',left: '0px',display: 'block'});\r\n t.updatePointCollection(t.props.mapPointCollection);\r\n if(t.stopMove){\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n //处理下数据,符合拖拽事件\r\n t.props.moveEnd(obj);\r\n }else{\r\n t.stopMove = true;\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.on('zoomstart', function(e) {\r\n $(`#${t.pointCollectionId}`).css({display: 'none'});\r\n t.stopMove = false;\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.on('zoomend', function(e) {\r\n $(`#${t.pointCollectionId}`).css({display: 'inline-block'});\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 mouseOverGraphic(id,e){\r\n let t = this;\r\n if(typeof(t.props.mouseOverGraphic) === 'function'){\r\n let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.pixel.y + t.mapTop,//当前点所在的位置(屏幕)\r\n left: e.pixel.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 let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.pixel.y + t.mapTop,//当前点所在的位置(屏幕)\r\n left: e.pixel.x + t.mapLeft,\r\n }\r\n t.props.mouseOutGraphic(obj);\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.on('click', function(e) {\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n obj.clickLngLat = {\r\n lng: (e.lnglat || {}).lng,\r\n lat: (e.lnglat || {}).lat\r\n };\r\n obj.pixel = e.pixel;\r\n t.props.clickMap(obj);\r\n });\r\n }\r\n }\r\n //测距\r\n vtxRangingTool () {\r\n let t = this;\r\n t.ruler.turnOn();\r\n //引用百度测距样式\r\n t.state.gis.setDefaultCursor(this.csr);\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 t.removeGraphic(drawParam.data.id);\r\n t.state.drawIds[drawParam.geometryType].splice(len,1);\r\n }\r\n //引用百度测距样式\r\n t.state.gis.setDefaultCursor('crosshair');\r\n let param = {};\r\n let paramgcr = {};\r\n if(drawParam.geometryType == 'polygon' || drawParam.geometryType == 'circle' || drawParam.geometryType == 'rectangle'){\r\n paramgcr.fillColor = drawParam.parameter.color;\r\n paramgcr.strokeColor = drawParam.parameter.lineColor;\r\n paramgcr.strokeOpacity = drawParam.parameter.lineOpacity;\r\n paramgcr.strokeWeight = drawParam.parameter.lineWidth;\r\n paramgcr.fillOpacity = drawParam.parameter.pellucidity;\r\n paramgcr.strokeStyle = drawParam.parameter.lineType;\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 AMap.Icon({\r\n image: drawParam.parameter.url || 'http://webapi.amap.com/theme/v1.3/markers/n/mark_bs.png',\r\n size: new AMap.Size(drawParam.parameter.width || 36,drawParam.parameter.height || 36),\r\n offset: new AMap.Pixel(drawParam.parameter.labelPixelX || -10,drawParam.parameter.labelPixelY || -34)\r\n });\r\n param.extData = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n url: drawParam.parameter.url || 'http://webapi.amap.com/theme/v1.3/markers/n/mark_bs.png',\r\n config: {\r\n width: drawParam.parameter.width || 36,\r\n height: drawParam.parameter.height || 36\r\n }\r\n },\r\n type: 'point'\r\n };\r\n t.mousetool.marker(param);\r\n break;\r\n case 'polyline':\r\n param.strokeColor = drawParam.parameter.color;\r\n param.strokeOpacity = drawParam.parameter.pellucidity;\r\n param.strokeWeight = drawParam.parameter.lineWidth;\r\n param.strokeStyle = drawParam.parameter.lineType;\r\n param.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 pellucidity: drawParam.parameter.pellucidity,\r\n lineWidth: drawParam.parameter.lineWidth\r\n }\r\n },\r\n type: 'polyline'\r\n };\r\n t.mousetool.polyline(param);\r\n break;\r\n case 'polygon':\r\n t.mousetool.polygon(paramgcr);\r\n break;\r\n case 'circle':\r\n t.mousetool.circle(paramgcr);\r\n break;\r\n case 'rectangle':\r\n t.mousetool.rectangle(paramgcr);\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 let t = this;\r\n //恢复鼠标默认样式\r\n t.state.gis.setDefaultCursor();\r\n t.mousetool.close();\r\n }\r\n //处理线和面的 经纬度数据\r\n dealData(ms){\r\n //区别点和圆的经纬度数据处理\r\n let lnglatAry = [],_extent = {xmax: 0,xmin: 0,ymax: 0,ymin: 0},path=[];\r\n if('getPath' in ms){\r\n path = ms.getPath();\r\n path = path.map((item,index)=>{\r\n let lng = item.lng,lat = item.lat;\r\n if(lng > _extent.xmax){\r\n _extent.xmax = lng;\r\n }\r\n if(lng < _extent.xmin || _extent.xmin == 0){\r\n _extent.xmin = lng;\r\n }\r\n if(lat > _extent.ymax){\r\n _extent.ymax = lat;\r\n }\r\n if(lat < _extent.ymin || _extent.ymin == 0){\r\n _extent.ymin = lat;\r\n }\r\n lnglatAry.push({\r\n lngX: lng,\r\n latX: lat\r\n });\r\n return [lng,lat];\r\n })\r\n }\r\n return {lnglatAry,_extent,path};\r\n }\r\n //删除图元\r\n removeGraphic(id,type){\r\n let t = this;\r\n if(!!this.GM.getGraphic(id)){\r\n if((t.GM.getGraphicParam(id).attributes.config || {}).isAnimation){\r\n this.GM.getGraphic(id).stopMove();\r\n }\r\n //清除聚合点 避免异常\r\n t.clusterObj.removeMarker(this.GM.getGraphic(id));\r\n //清除地图中图元\r\n this.GM.getGraphic(id).setMap();\r\n //清除对应id的图元数据缓存\r\n this.GM.removeGraphic(id);\r\n }else{\r\n return false;\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 //点位角度旋转(以指向东(右)为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.lngLatToContainer(spLngLat),\r\n //获取当前点位的经纬度\r\n e = t.state.gis.lngLatToContainer(new AMap.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 AMap.LngLat(f[0],f[1]);\r\n let lnglat2 = new AMap.LngLat(s[0],s[1]);\r\n return Math.round(lnglat1.distance(lnglat2));\r\n }\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 totalDistance += t.calculatePointsDistance(ps[i],ps[i+1]);\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 let psc = new AMap.PlaceSearch({\r\n pageSize,\r\n pageIndex\r\n });\r\n return new Promise((resolve)=>{\r\n psc.search(searchValue,(status,result)=>{\r\n let list = result.poiList.pois.map((r)=>({\r\n id: r.id,\r\n longitude: r.location.lng,\r\n latitude: r.location.lat,\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 resolve(list)\r\n })\r\n })\r\n }\r\n render(){\r\n let t = this; \r\n let _map = this.props;\r\n return(\r\n <div id={_map.mapId} style={{width:'100%',height:'100%'}}></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 }\r\n componentWillUnmount(){\r\n let t = this;\r\n //关闭moveTo定时\r\n for(let i in t.GM.allParam){\r\n if(t.GM.allParam.type == 'point'){\r\n t.GM.getGraphic[i].stopMove();\r\n }\r\n }\r\n this.state.gis.destroy();\r\n this.state.gis = null;\r\n }\r\n componentDidUpdate(prevProps, prevState) {//重新渲染结束\r\n let t = this;\r\n let props = t.props;\r\n // 等待地图加载\r\n if(!t.mapCreated)return;\r\n\r\n //回调显示方法\r\n if(props.showGraphicById){\r\n props.showGraphicById(t.showGraphicById.bind(t));\r\n }\r\n //回调隐藏方法\r\n if(props.hideGraphicById){\r\n props.hideGraphicById(t.hideGraphicById.bind(t));\r\n } \r\n \r\n }\r\n UNSAFE_componentWillReceiveProps(nextProps,prevProps) {//已加载组件,收到新的参数时调用\r\n let t = this;\r\n //点/线旧数据\r\n let {pointIds,lineIds,polygonIds,circleIds,drawIds} = t.state;\r\n let {point,polyline,polygon,circle,rectangle} = drawIds;\r\n //点/线新数据\r\n let {\r\n mapPoints = [],mapLines = [],mapPolygons = [],mapCircles = [],customizedBoundary =[],\r\n isOpenTrafficInfo,boundaryName,heatMapData,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 isClearAll,mapPointCollection,isclearAllPointCollection,\r\n isSetAreaRestriction,areaRestriction,isClearAreaRestriction,\r\n mapStyle,coverageType,\r\n infoWindowData\r\n } = nextProps;\r\n let props = t.props;\r\n // 设置地图样式\r\n if(mapStyle && !t.deepEqual(mapStyle,t.props.mapStyle)){\r\n t.state.gis.setMapStyle(mapStyle);\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(!t.mapCreated)return;\r\n if(mapPointCollection instanceof Array && 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 pointData[2]相同的点,执行刷新\r\n pointData[1]的数据在idsForGraphicId中不存在的,执行新增\r\n pointData[0]数据中多余的id,执行删除\r\n */\r\n if(mapPoints instanceof Array && props.mapPoints instanceof Array && !t.deepEqual(mapPoints,props.mapPoints)){\r\n let oldMapPoints = props.mapPoints;\r\n let newMapPoints = mapPoints;\r\n //过滤编辑的图元\r\n if(!!t.state.editId){\r\n oldMapPoints = 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 && props.mapPolygons instanceof Array && !t.deepEqual(mapPolygons,props.mapPolygons)){\r\n let oldMapPolygons = props.mapPolygons;\r\n let newMapPolygons = mapPolygons;\r\n if(!!t.state.editId){\r\n oldMapPolygons = 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 && props.mapCircles instanceof Array && !t.deepEqual(mapCircles,props.mapCircles)){\r\n let oldMapCircles = props.mapCircles;\r\n let newMapCircles = mapCircles;\r\n if(!!t.state.editId){\r\n oldMapCircles = 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 && props.mapLines instanceof Array && !t.deepEqual(mapLines,props.mapLines)){\r\n let oldMapLines = props.mapLines;\r\n let newMapLines = mapLines;\r\n if(!!t.state.editId){\r\n oldMapLines = 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 && props.customizedBoundary instanceof Array && !t.deepEqual(customizedBoundary,props.customizedBoundary)){\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(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 && props.boundaryName instanceof Array && !t.deepEqual(boundaryName,props.boundaryName)){\r\n let newBDName = Set(boundaryName);\r\n let oldBDName = Set(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,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 && props.imageOverlays instanceof Array && !t.deepEqual(imageOverlays,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 // 比例尺控件位置改变\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 for(let i in t.GM.allParam){\r\n if(t.GM.allParam[i].geometryType == 'point'){\r\n if(t.GM.getGraphic[i]){\r\n t.GM.getGraphic[i].stopMove();\r\n }\r\n }\r\n }\r\n if(t.pointCollectTimer){\r\n clearTimeout(t.pointCollectTimer);\r\n }\r\n window.VtxMap[t.state.mapId]= null;\r\n }\r\n}\r\n\r\nexport default VortexAMap;"],"mappings":"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"}