@vtx/map 1.2.31 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -44
- package/lib/VtxMap/AMap/AMap.js +37 -34
- package/lib/VtxMap/AMap/AMap.js.map +1 -1
- package/lib/VtxMap/BMap/Map.js +60 -57
- package/lib/VtxMap/BMap/Map.js.map +1 -1
- package/lib/VtxMap/GMap/Map.js +36 -35
- package/lib/VtxMap/GMap/Map.js.map +1 -1
- package/lib/VtxMap/OMap/Map.js +65 -62
- package/lib/VtxMap/OMap/Map.js.map +1 -1
- package/lib/VtxMap/OMap/Map.less +70 -70
- package/lib/VtxMap/OlMap/Map.js +59 -54
- package/lib/VtxMap/OlMap/Map.js.map +1 -1
- package/lib/VtxMap/OlMap/Map.less +230 -230
- package/lib/VtxMap/TMap/TMap.js +59 -57
- package/lib/VtxMap/TMap/TMap.js.map +1 -1
- package/lib/VtxMap/index.js +0 -18
- package/lib/VtxMap/index.js.map +1 -1
- package/lib/VtxMap/optimizingPointMap.js +1 -1
- package/lib/VtxMap/optimizingPointMap.js.map +1 -1
- package/lib/VtxModal/VtxModal.css +53 -18
- package/lib/VtxModal/VtxModal.js +17 -13
- package/lib/VtxModal/VtxModal.js.map +1 -1
- package/lib/VtxModal/VtxModal.less +102 -52
- package/lib/VtxModal/style/css.js +1 -12
- package/lib/VtxModal/style/css.js.map +1 -1
- package/lib/VtxModal/style/index.js +1 -12
- package/lib/VtxModal/style/index.js.map +1 -1
- package/lib/VtxSearchCheckMap/VtxSearchCheckMap.css +45 -63
- package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js +35 -36
- package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js.map +1 -1
- package/lib/VtxSearchCheckMap/VtxSearchCheckMap.less +73 -68
- package/lib/VtxSearchCheckMap/index.js.map +1 -1
- package/lib/VtxSearchCheckMap/mapping.js.map +1 -1
- package/lib/VtxSearchCheckMap/style/css.js +2 -18
- package/lib/VtxSearchCheckMap/style/css.js.map +1 -1
- package/lib/VtxSearchCheckMap/style/index.js +2 -18
- package/lib/VtxSearchCheckMap/style/index.js.map +1 -1
- package/lib/VtxSearchMap/VtxSearchMap.css +45 -60
- package/lib/VtxSearchMap/VtxSearchMap.js +33 -33
- package/lib/VtxSearchMap/VtxSearchMap.js.map +1 -1
- package/lib/VtxSearchMap/VtxSearchMap.less +157 -174
- package/lib/VtxSearchMap/index.js.map +1 -1
- package/lib/VtxSearchMap/mapping.js.map +1 -1
- package/lib/VtxSearchMap/style/css.js +3 -25
- package/lib/VtxSearchMap/style/css.js.map +1 -1
- package/lib/VtxSearchMap/style/index.js +3 -25
- package/lib/VtxSearchMap/style/index.js.map +1 -1
- package/lib/default.js +37 -13
- package/lib/default.js.map +1 -1
- package/lib/utils/util.js.map +1 -1
- package/package.json +14 -12
- package/lib/VtxModal/VtxModalAntd3.css +0 -62
- package/lib/VtxModal/VtxModalAntd3.less +0 -67
- package/lib/VtxSearchCheckMap/VtxSearchCheckMapAntd3.css +0 -0
- package/lib/VtxSearchCheckMap/VtxSearchCheckMapAntd3.less +0 -1
- package/lib/VtxSearchMap/VtxSearchMapAntd3.css +0 -0
- package/lib/VtxSearchMap/VtxSearchMapAntd3.less +0 -1
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
1
|
+
{"version":3,"file":"AMap.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_default2","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_classCallCheck","_defineProperties","key","_createClass","prototype","_toPrimitive","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","_inherits","create","_setPrototypeOf","Set","Immutable","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","ensurejQuery","then","window","AMap","$","getScript","concat","configUrl","mapServerURL","amapScriptUrl","PointCollection","all","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, { loadScript, ensurejQuery } 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 ensurejQuery().then(() => {\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 //初始化地图\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":[]}
|