@vtx/map 1.2.22 → 1.2.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/lib/VtxMap/AMap/AMap.js +658 -1035
  2. package/lib/VtxMap/AMap/AMap.js.map +1 -1
  3. package/lib/VtxMap/BMap/Map.js +781 -1227
  4. package/lib/VtxMap/BMap/Map.js.map +1 -1
  5. package/lib/VtxMap/GMap/Map.js +1063 -1583
  6. package/lib/VtxMap/GMap/Map.js.map +1 -1
  7. package/lib/VtxMap/Map.js +23 -59
  8. package/lib/VtxMap/Map.js.map +1 -1
  9. package/lib/VtxMap/MapToolFunction.js +30 -67
  10. package/lib/VtxMap/MapToolFunction.js.map +1 -1
  11. package/lib/VtxMap/OMap/Map.js +888 -1384
  12. package/lib/VtxMap/OMap/Map.js.map +1 -1
  13. package/lib/VtxMap/OlMap/Map.js +789 -1329
  14. package/lib/VtxMap/OlMap/Map.js.map +1 -1
  15. package/lib/VtxMap/TMap/TMap.js +680 -1097
  16. package/lib/VtxMap/TMap/TMap.js.map +1 -1
  17. package/lib/VtxMap/index.js +2 -9
  18. package/lib/VtxMap/index.js.map +1 -1
  19. package/lib/VtxMap/mapPlayer.js +74 -131
  20. package/lib/VtxMap/mapPlayer.js.map +1 -1
  21. package/lib/VtxMap/optimizingPointMap.js +42 -101
  22. package/lib/VtxMap/optimizingPointMap.js.map +1 -1
  23. package/lib/VtxMap/style/css.js +0 -6
  24. package/lib/VtxMap/style/css.js.map +1 -1
  25. package/lib/VtxMap/style/index.js +0 -6
  26. package/lib/VtxMap/style/index.js.map +1 -1
  27. package/lib/VtxMap/zoomMap.js +25 -56
  28. package/lib/VtxMap/zoomMap.js.map +1 -1
  29. package/lib/VtxModal/VtxModal.js +34 -80
  30. package/lib/VtxModal/VtxModal.js.map +1 -1
  31. package/lib/VtxModal/draggableModal.js +30 -68
  32. package/lib/VtxModal/draggableModal.js.map +1 -1
  33. package/lib/VtxModal/index.js +2 -7
  34. package/lib/VtxModal/index.js.map +1 -1
  35. package/lib/VtxModal/style/css.js +0 -6
  36. package/lib/VtxModal/style/css.js.map +1 -1
  37. package/lib/VtxModal/style/index.js +0 -6
  38. package/lib/VtxModal/style/index.js.map +1 -1
  39. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js +123 -259
  40. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js.map +1 -1
  41. package/lib/VtxSearchCheckMap/index.js +1 -3
  42. package/lib/VtxSearchCheckMap/index.js.map +1 -1
  43. package/lib/VtxSearchCheckMap/mapping.js +1 -2
  44. package/lib/VtxSearchCheckMap/mapping.js.map +1 -1
  45. package/lib/VtxSearchCheckMap/style/css.js +0 -19
  46. package/lib/VtxSearchCheckMap/style/css.js.map +1 -1
  47. package/lib/VtxSearchCheckMap/style/index.js +0 -19
  48. package/lib/VtxSearchCheckMap/style/index.js.map +1 -1
  49. package/lib/VtxSearchMap/VtxSearchMap.js +143 -318
  50. package/lib/VtxSearchMap/VtxSearchMap.js.map +1 -1
  51. package/lib/VtxSearchMap/index.js +1 -3
  52. package/lib/VtxSearchMap/index.js.map +1 -1
  53. package/lib/VtxSearchMap/mapping.js +1 -2
  54. package/lib/VtxSearchMap/mapping.js.map +1 -1
  55. package/lib/VtxSearchMap/style/css.js +0 -19
  56. package/lib/VtxSearchMap/style/css.js.map +1 -1
  57. package/lib/VtxSearchMap/style/index.js +0 -19
  58. package/lib/VtxSearchMap/style/index.js.map +1 -1
  59. package/lib/default.js +4 -13
  60. package/lib/default.js.map +1 -1
  61. package/lib/index.js +0 -3
  62. package/lib/index.js.map +1 -1
  63. package/lib/utils/util.js +15 -40
  64. package/lib/utils/util.js.map +1 -1
  65. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AMap.js","names":["Set","Immutable","VortexAMap","props","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","test","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","language","frameSelectProps","loadMapJs","loadMapComplete","Promise","resolve","reject","window","AMap","$","getScript","configUrl","mapServerURL","amapScriptUrl","PointCollection","all","then","setTime","allEvents","isLoading","i","length","setTimeout","t","mapPoints","mapLines","mapPolygons","mapCircles","imageOverlays","setVisiblePoints","mapVisiblePoints","mapCenter","mapCluster","mapPointCollection","showControl","boundaryName","heatMapData","areaRestriction","coverageType","infoWindowData","setMapType","createMap","setCenter","Array","addPoint","addLine","addPolygon","addCircle","imageUrlOverlay","setZoomLevel","cluster","satelliteSwitch","showMapTypeControl","addBaiduBoundary","showGraphicById","bind","hideGraphicById","setAreaRestriction","heatMapOverlay","infoWindow","addPointCollection","dragMapStart","dragMapEnd","moveStart","moveEnd","zoomStart","zoomEnd","clickMap","divId","viewMode","mapStyle","minZoom","maxZoom","VtxMap","Map","toString","resizeEnable","zoom","center","zooms","lang","setMapStyle","MarkerClusterer","offsetS","Pixel","offsetT","zlt","zls","location","tp","direction","type","Scale","position","offset","ToolBar","locate","opts","subdistrict","extensions","level","DistrictSearch","RangingTool","on","points","distance","lnglats","map","item","index","lng","lat","setDefaultCursor","turnOff","mapRangingTool","MouseTool","obj","drawExtData","getExtData","backobj","id","attributes","geometryType","mapLayer","geometry","setGraphic","setGraphicParam","e","clickGraphic","mouseOverGraphic","mouseOutGraphic","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","arr","fitView","frameSelect","clearFrameSelect","clearFrameSelectById","setLanguage","parameter","data","includes","message","warn","params","random","color","lineColor","lineOpacity","lineWidth","pellucidity","lineType","draw","key","removeGraphic","TileLayer","Satellite","RoadNet","hide","show","setLang","imageAry","sw","ne","url","opacity","displayOnMinLevel","displayOnMaxLevel","console","isArray","swnep","Bounds","ImageLayer","bounds","setLayers","clearMarkers","clearMap","clearAll","setState","gt","sw_ne","LngLat","setLimitBounds","clearLimitBounds","Traffic","zIndex","add","ids","setFitView","getAllOverlays","pts","split","Marker","getMoreGraphic","setZoom","getZoom","northEast","getBounds","toBounds","getNorthEast","southWest","getSouthWest","mapSize","getSize","nowCenter","getCurrentCenter","getZoomLevel","calculatePointsDistance","arg","ary","Object","prototype","apply","filter","getGraphicParam","config","isAnimation","ms","setMarkers","removeMarkers","getMarkers","scaleOffset","scaleControl","removeControl","navigationControl","control","addControl","navigation","mapTypeControl","MapType","reloaction","right","bottom","timer","setInterval","log","clearInterval","gp","gg","getGraphic","p","longitude","latitude","other","getPath","bdNames","forEach","name","search","status","result","Date","getTime","districtList","boundaries","push","removedBDNames","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","value","ds","ind","reDraw","clear","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","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","ls","lsids","isHidden","lineOption","strokeColor","strokeOpacity","strokeWeight","strokeStyle","itt","indd","Polyline","op","getOptions","pgs","pgsids","polygonOption","fillColor","fillOpacity","Polygon","ccs","ccsids","circleOption","Circle","endEdit","setDraggable","editGraphicChange","PolyEditor","CircleEditor","off","param","target","lnglat","pixel","getMapExtent","updatePointCollection","clickLngLat","turnOn","drawParam","len","splice","paramgcr","xmax","xmin","ymax","ymin","lngX","latX","removeMarker","setMap","sp","ep","spLngLat","s","tan","atan","disy","bias","a","b","is","fromJS","f","lnglat1","lnglat2","round","totalDistance","oldData","newData","onlyOldData","subtract","toJS","onlyNewData","onlyOldIDs","onlyNewIDs","updateDataIDs","intersect","updatedData","replacedData","deletedDataIDs","oldID","addedData","ads","otherupds","upds","otherads","searchValue","pageSize","pageIndex","psc","PlaceSearch","list","poiList","pois","r","_map","dom","getElementById","offsetLeft","offsetTop","init","allParam","prevProps","prevState","nextProps","customizedBoundary","isOpenTrafficInfo","setCluster","isRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isClearAll","isclearAllPointCollection","isSetAreaRestriction","isClearAreaRestriction","deepEqual","dataMatch","clearPointCollection","clearAllPointCollection","oldMapPoints","newMapPoints","dealAdd","dealUpdate","updatePoint","oldMapPolygons","newMapPolygons","updatePolygon","oldMapCircles","newMapCircles","updateCircle","oldMapLines","newMapLines","updateLine","newBDName","oldBDName","removedBoundaryName","addedBoundaryName","removeBaiduBoundary","doEdit","closeDraw","openTrafficInfo","hideTrafficInfo","removeCluster","vtxRangingTool","clearAreaRestriction","JSON","stringify","React","Component"],"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.language = props.language || 'zh_cn';\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(configUrl.amapScriptUrl, ()=>{\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 lang: t.language\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[\"fitView\"] = (arr) => {\r\n t.fitView(arr);\r\n }\r\n t.state.gis[\"frameSelect\"] = (obj={},callback) => {\r\n return t.frameSelect(obj,callback);\r\n }\r\n t.state.gis[\"clearFrameSelect\"] = () => {\r\n return t.clearFrameSelect();\r\n }\r\n t.state.gis[\"clearFrameSelectById\"] = (id) => {\r\n return t.clearFrameSelectById(id);\r\n }\r\n t.state.gis[\"setLanguage\"] = (type) => {\r\n return t.setLanguage(type);\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 setLanguage(type){\r\n this.state.gis.setLang(type || this.language);\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 // 设置最佳视野\r\n fitView(arr=[]){\r\n const t= this;\r\n if(arr?.length >0){\r\n t.state.gis.setFitView(arr.map(item=>new AMap.Marker({position: item})));\r\n }\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 let dom = document.getElementById(t.props.mapId);\r\n if(dom){\r\n t.mapLeft = dom.offsetLeft;\r\n t.mapTop = dom.offsetTop;\r\n }\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 language\r\n } = nextProps;\r\n let props = t.props;\r\n if(language && !t.deepEqual(language,t.props.language)){\r\n t.setLanguage(language);\r\n }\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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"}
1
+ {"version":3,"file":"AMap.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_default2","e","__esModule","_createForOfIteratorHelper","r","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","configurable","writable","_classCallCheck","_defineProperties","key","_createClass","prototype","i","_toPrimitive","_typeof","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","_setPrototypeOf","Set","Immutable","VortexAMap","_React$Component","props","_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","language","frameSelectProps","loadMapJs","loadMapComplete","Promise","resolve","reject","window","AMap","$","getScript","concat","configUrl","mapServerURL","amapScriptUrl","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","lang","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","obj","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","arr","fitView","undefined","frameSelect","clearFrameSelect","clearFrameSelectById","setLanguage","_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","setLang","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","setFitView","getAllOverlays","pts","split","Marker","getMoreGraphic","setZoom","getCurrentCenter","getZoomLevel","getZoom","getMapExtent","northEast","getBounds","toBounds","getNorthEast","southWest","getSouthWest","mapSize","getSize","nowCenter","calculatePointsDistance","arg","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","p","_t$dealData2","longitude","latitude","other","getPath","bdNames","search","status","result","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","_this0","doEdit","endEdit","setDraggable","editGraphicChange","PolyEditor","CircleEditor","off","param","target","lnglat","pixel","clickLngLat","vtxRangingTool","turnOn","drawParam","len","splice","paramgcr","closeDraw","xmax","xmin","ymax","ymin","lngX","latX","removeMarker","setMap","sp","ep","spLngLat","tan","atan","disy","bias","deepEqual","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","dom","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","err","oldMapPolygons","newMapPolygons","_t$dataMatch3","_t$dealAdd2","_t$dealUpdate2","_iterator2","_step2","oldMapCircles","newMapCircles","_t$dataMatch4","_t$dealAdd3","_t$dealUpdate3","_iterator3","_step3","oldMapLines","newMapLines","_t$dataMatch5","_t$dealAdd4","_t$dealUpdate4","_iterator4","_step4","_t$dataMatch6","_iterator5","_step5","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.language = props.language || 'zh_cn';\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(configUrl.amapScriptUrl, ()=>{\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 lang: t.language\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[\"fitView\"] = (arr) => {\r\n t.fitView(arr);\r\n }\r\n t.state.gis[\"frameSelect\"] = (obj={},callback) => {\r\n return t.frameSelect(obj,callback);\r\n }\r\n t.state.gis[\"clearFrameSelect\"] = () => {\r\n return t.clearFrameSelect();\r\n }\r\n t.state.gis[\"clearFrameSelectById\"] = (id) => {\r\n return t.clearFrameSelectById(id);\r\n }\r\n t.state.gis[\"setLanguage\"] = (type) => {\r\n return t.setLanguage(type);\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 setLanguage(type){\r\n this.state.gis.setLang(type || this.language);\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 // 设置最佳视野\r\n fitView(arr=[]){\r\n const t= this;\r\n if(arr?.length >0){\r\n t.state.gis.setFitView(arr.map(item=>new AMap.Marker({position: item})));\r\n }\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 let dom = document.getElementById(t.props.mapId);\r\n if(dom){\r\n t.mapLeft = dom.offsetLeft;\r\n t.mapTop = dom.offsetTop;\r\n }\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 language\r\n } = nextProps;\r\n let props = t.props;\r\n if(language && !t.deepEqual(language,t.props.language)){\r\n t.setLanguage(language);\r\n }\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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","ignoreList":[]}