@vtx/map 1.2.32 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +58 -56
- 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":"Map.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_unionBy","_default2","_antd","e","__esModule","_createForOfIteratorHelper","r","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","configurable","writable","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","_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","window","location","protocol","BMAP_PROTOCOL","BMap_loadScriptTime","Date","getTime","gisMapConstant","circle","star","square","rhombus","waterdrop","tiny","smaller","small","normal","big","bigger","huge","BaiduMap","_React$Component","props","_this","GM","graphicManage","getPolygonArea","initPointIndex","_cluster","_rangingTool","_bmar","_drawmanager","editGraphicChange","editTimeout","_boundary","moveToTimer","heatmap","morepoints","movePoints","popupWindow","mapCreated","state","gis","mapId","pointIds","lineIds","polygonIds","circleIds","editId","editGraphic","boundaryInfo","drawIds","point","polyline","polygon","rectangle","frameSelectProps","loadMapJs","loadPlugin","loadList","BMapLib","DistanceTool","Promise","resolve","reject","$","getScript","concat","configUrl","mapServerURL","TrafficControl","MarkerClusterer","AreaRestriction","DrawingManager","HeatmapOverlay","GeoUtils","TextIconOverlay","InfoBox","all","then","BMap","_this2","loadMapComplete","bmapScriptUrl","attr","rel","type","href","appendTo","init","createMap","_this$props","mapPoints","mapLines","mapPolygons","mapCircles","imageOverlays","mapVisiblePoints","mapCluster","mapZoomLevel","isOpenTrafficInfo","mapPointCollection","areaRestriction","coverageType","_this$props2","boundaryName","heatMapData","infoWindowData","customizedBoundary","_this$state","setMapType","addPoint","addLine","addPolygon","addCircle","imageUrlOverlay","addBaiduBoundary","heatMapOverlay","infoWindow","addPointCollection","setVisiblePoints","cluster","openTrafficInfo","hideTrafficInfo","setAreaRestriction","showControl","clickMap","dragMapStart","dragMapEnd","moveStart","moveEnd","zoomStart","zoomEnd","_t$props","mapCenter","mapStyle","minZoom","maxZoom","options","zoom","center","VtxMap","AnchorConstant","tr","BMAP_ANCHOR_TOP_RIGHT","tl","BMAP_ANCHOR_TOP_LEFT","bl","BMAP_ANCHOR_BOTTOM_LEFT","br","BMAP_ANCHOR_BOTTOM_RIGHT","NavigationConstant","large","BMAP_NAVIGATION_CONTROL_LARGE","BMAP_NAVIGATION_CONTROL_SMALL","pan","BMAP_NAVIGATION_CONTROL_PAN","BMAP_NAVIGATION_CONTROL_ZOOM","map","Map","enableMapClick","setMapStyle","style","styleJson","setTimeout","parent","children","css","centerAndZoom","Point","parseFloat","satelliteSwitch","showMapTypeControl","_trafficCtrl","showPanel","addControl","document","getElementById","remove","removeNode","enableScrollWheelZoom","Boundary","addEventListener","_t$frameSelectProps$b","label","removeOverlay","drawExtData","extData","id","backobj","attributes","geometryType","mapLayer","overlay","geometry","clickGraphic","mouseOverGraphic","mouseOutGraphic","setGraphic","_t$dealData","dealData","lnglatAry","_extent","path","x","getPosition","lng","y","lat","distance","calculate","paths","area","rings","getCenter","radius","getRadius","setGraphicParam","close","drawEnd","callback","Function","initPropsForUser","BMAP_NORMAL_MAP","BMAP_HYBRID_MAP","imageAry","item","index","sw","ne","url","opacity","console","warn","swp","nep","option","displayOnMinLevel","displayOnMaxLevel","imageURL","swnep","Bounds","GroundOverlay","addOverlay","_this3","psids","isRepetition","longitude","latitude","cg","width","height","labelContent","labelPixelX","labelPixelY","BAnimationType","markerContentX","markerContentY","deg","markerContent","config","position","marker","markerOption","offset","Size","icon","Icon","setImageSize","Marker","markerLOption","markerL","Label","setStyle","backgroundColor","border","setLabel","setRotation","canShowLabel","labelClass","split","join","markerLabel","zIndex","setZIndex","setAnimation","BMAP_ANIMATION_BOUNCE","BMAP_ANIMATION_DROP","other","updatePoint","_this4","gc","getGraphic","setOffset","setIcon","getLabel","setContent","getIcon","size","labelOffset","isAnimation","moveTo","animationDelay","autoRotation","urlleft","setPosition","moveAnimation","lsids","color","pellucidity","lineWidth","lineType","isHidden","linePath","lineOption","strokeColor","strokeWeight","strokeOpacity","strokeStyle","line","Polyline","hide","show","updateLine","setPath","setStrokeColor","setStrokeOpacity","setStrokeWeight","setStrokeStyle","pgsids","lineColor","lineOpacity","polygonOption","fillColor","fillOpacity","polygonPath","Polygon","updatePolygon","setFillColor","setFillOpacity","ccsids","circleOption","centerPoint","Circle","updateCircle","setCenter","setRadius","bdNames","get","ary","arr","boundaries","Math","random","removeBaiduBoundary","removedBDNames","removedBDIds","indexOf","setState","removeGraphic","d","undefined","max","visible","eval","gradient","setDataSet","data","setOptions","sContent","createElement","infowindow","InfoWindow","setWidth","setHeight","onClose","content","render","openInfoWindow","closeInfoWindow","points","p","shape","VotexpointCollection","PointCollection","clickPointCollection","obj","updatePointCollection","ds","setPoints","setStyles","clearPointCollection","ids","ind","clear","clearAllPointCollection","param","top","clientY","left","clientX","getMapExtent","clickLngLat","pixel","gt","mgt","c","setZoomLevel","z","getZoomLevel","setZoom","arg","fitView","getFitView","getViewport","getCurrentCenter","getZoom","allLayers","getGraphicParam","getPath","gp","gg","pts","graphic","removeMarker","splice","doEdit","gtp","endEdit","calculateDistance","pow","PI","clearTimeout","enableDragging","enableEditing","disableDragging","removeEventListener","disableEditing","draw","drawParam","parameter","len","paramgcr","setDrawingMode","open","markerOptions","polylineOptions","enableCalculate","polygonOptions","circleOptions","rectangleOptions","closeDraw","clearAll","clearMarkers","clearOverlays","clusterToolFunction","addMarkers","removeCluster","removeMarkers","clearClusters","allps","vtxRangingTool","cb","objLngLats","lnglats","showTraffic","hideTraffic","scaleOffset","scaleControl","removeControl","navigationControl","control","ScaleControl","anchor","navigation","NavigationControl","mapTypeControl","mapTypes","BMAP_SATELLITE_MAP","MapTypeControl","BMAP_MAPTYPE_CONTROL_HORIZONTAL","sw_ne","bounds","setBounds","clearAreaRestriction","clearBounds","_map","clearInterval","setInterval","waitTime","deleteTime","sort","nowMovePoints","deleteIndex","_nowMovePoints$_i","rx","ry","tx","ty","b","lnglat","delay","urlright","timer","count","equals","ddeg","rotateDeg","gcicon","setImageUrl","isHave","sp","ep","spLngLat","pointToPixel","tan","atan","disy","bias","ms","xmax","xmin","ymax","ymin","lngX","latX","showGraphicById","hideGraphicById","nowBounds","getBounds","southWest","getSouthWest","northEast","getNorthEast","nowCenter","mapSize","getSize","calculatePointsDistance","fp","round","getDistance","ps","totalDistance","calculateArea","deepEqual","is","fromJS","dataMatch","oldData","newData","onlyOldData","subtract","toJS","onlyNewData","onlyOldIDs","onlyNewIDs","updateDataIDs","intersect","updatedData","replacedData","deletedDataIDs","oldID","addedData","dealAdd","ads","otherupds","dealUpdate","upds","otherads","showInfoWindow","params","hideInfoWindow","poi","boxStyle","closeIconMargin","enableAutoPan","align","closeIconUrl","frameSelect","_ref","_ref$parameter","_ref$data","includes","message","clearFrameSelect","clearFrameSelectById","searchPoints","searchValue","_this5","pageSize","pageIndex","psc","LocalSearch","onSearchComplete","result","getPageIndex","gotoPage","res_arr","getCurrentNumPois","getPoi","uid","title","pageCapacity","search","componentDidMount","componentDidUpdate","prevProps","prevState","UNSAFE_componentWillReceiveProps","nextProps","_t$state","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","setCluster","isRangingTool","mapRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isclearAllPointCollection","isSetAreaRestriction","isClearAreaRestriction","isClearAll","_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","refresh","componentWillUnmount","React","Component","_default","exports","module"],"sources":["VtxMap/BMap/Map.js"],"sourcesContent":["import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport {graphicManage,getPolygonArea} from '../MapToolFunction';\r\nimport Immutable from 'immutable';\r\nimport uniqBy from 'lodash/unionBy'\r\nconst {Set} = Immutable;\r\n//公共地址配置\r\nimport configUrl from '../../default';\r\nimport { message } from 'antd';\r\n\r\n// 百度地图js文件内做了一些额外的http or https判断\r\n// 如果协议为Https,我们需要改动全局变量BMAP_PROTOCOL和BMap_loadScriptTime\r\nif (window.location.protocol === 'https:') {\r\n window.BMAP_PROTOCOL = \"https\";\r\n window.BMap_loadScriptTime = (new Date).getTime();\r\n}\r\n\r\nconst gisMapConstant = {\r\n circle: 'BMAP_POINT_SHAPE_CIRCLE',//圆形\r\n star: 1,//星形\r\n square: 4,//方形\r\n rhombus: 5,//菱形\r\n waterdrop: 2,//水滴状,该类型无size和color属性\r\n tiny: 1, //定义点的尺寸为超小,宽高为2px*2px\r\n smaller: 2,//定义点的尺寸为很小,宽高为4px*4px\r\n small: 3,//定义点的尺寸为小,宽高为8px*8px\r\n normal: 4,//定义点的尺寸为正常,宽高为10px*10px,为海量点默认尺寸\r\n big: 5,//定义点的尺寸为大,宽高为16px*16px\r\n bigger: 6,//定义点的尺寸为很大,宽高为20px*20px\r\n huge: 7,//定义点的尺寸为超大,宽高为30px*30px\r\n}\r\n\r\nclass BaiduMap extends React.Component{\r\n constructor(props){\r\n super(props);\r\n this.GM = new graphicManage();//初始化 图元管理方法\r\n this.getPolygonArea = getPolygonArea;\r\n this.initPointIndex = 0;//初始化地图时记录点当前位置\r\n this._cluster = null;//点聚合对象\r\n this._rangingTool = null;//测距对象\r\n this._bmar = null;//区域限制对象\r\n this._drawmanager = null;//图元绘制对象\r\n this.editGraphicChange = null;//编辑方法回调\r\n this.editTimeout = null;//圆编辑回调延迟时间对象\r\n this._boundary = null;//获取行政区域数据的对象\r\n this.moveToTimer = null;//moveTo时间对象\r\n this.heatmap = null;//热力图对象\r\n this.morepoints = [];//海量点数组\r\n this.movePoints = [];//移动点的动画集合\r\n this.popupWindow = null;\r\n this.mapCreated = false;\r\n this.state = {\r\n gis: null,//地图对象\r\n mapId: props.mapId,\r\n pointIds:[], //地图上点的ids\r\n lineIds:[], //地图上线的ids\r\n polygonIds:[], //地图上面的ids\r\n circleIds:[], //地图上圆的ids\r\n editId: '',//当前编辑的图元id\r\n editGraphic: '',//当前编辑完后图元所有数据\r\n 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.frameSelectProps = {}\r\n this.loadMapJs();\r\n }\r\n loadPlugin(){\r\n let loadList = [];\r\n if(!window.BMapLib || !window.BMapLib.DistanceTool){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/DistanceTool_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.TrafficControl){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TrafficControl_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.MarkerClusterer){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/MarkerClusterer_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.AreaRestriction){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/AreaRestriction_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.DrawingManager){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/DrawingManager_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.HeatmapOverlay){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/Heatmap_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.GeoUtils){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/GeoUtils_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.TextIconOverlay){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TextIconOverlay_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.InfoBox){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/InfoBox_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n loadList.push()\r\n }\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TextIconOverlay_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n return Promise.all(loadList).then(()=>{\r\n return window.BMap;\r\n });\r\n }\r\n loadMapJs(){\r\n this.loadMapComplete = new Promise((resolve,reject)=>{\r\n if(window.BMap){\r\n resolve(this.loadPlugin());\r\n }\r\n else{\r\n // EVlFc6DZzAzU5avIjoxNcFgQ\r\n $.getScript(configUrl.bmapScriptUrl, ()=>{\r\n resolve(this.loadPlugin());\r\n });\r\n $(\"<link>\").attr({ rel: \"stylesheet\",type: \"text/css\",href: '//api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.css'}).appendTo(\"head\");\r\n }\r\n });\r\n }\r\n //初始化地图数据\r\n init(){\r\n let t = this;\r\n //创建地图\r\n t.createMap();\r\n const {\r\n mapPoints,mapLines,mapPolygons,mapCircles,imageOverlays,\r\n mapVisiblePoints,mapCluster,mapZoomLevel,\r\n isOpenTrafficInfo,mapPointCollection,areaRestriction,\r\n coverageType\r\n } = this.props;\r\n let {boundaryName,heatMapData,infoWindowData,customizedBoundary} = this.props;\r\n let {boundaryInfo,pointIds,lineIds,polygonIds,circleIds} = this.state;\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType){\r\n t.setMapType(coverageType);\r\n }\r\n //添加点\r\n if(mapPoints instanceof Array){\r\n t.addPoint(mapPoints);\r\n }\r\n //添加线\r\n if(mapLines instanceof Array){\r\n t.addLine(mapLines);\r\n }\r\n //添加面\r\n if(mapPolygons instanceof Array){\r\n t.addPolygon(mapPolygons);\r\n }\r\n //添加圆\r\n if(mapCircles instanceof Array){\r\n t.addCircle(mapCircles);\r\n }\r\n //添加图片图层\r\n if(imageOverlays instanceof Array){\r\n t.imageUrlOverlay(imageOverlays);\r\n }\r\n //画边界线\r\n if(boundaryName instanceof Array && boundaryName.length>0){\r\n t.addBaiduBoundary(boundaryName);\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 if(mapPointCollection instanceof Array){\r\n t.addPointCollection(mapPointCollection);\r\n }\r\n //初始展示的视野范围\r\n if(mapVisiblePoints){\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n //设置点聚合\r\n if(mapCluster instanceof Array){\r\n t.cluster(mapCluster);\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(areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n //是否设置比例尺\r\n if(t.props.showControl){\r\n t.showControl();\r\n }\r\n /*地图事件*/\r\n //初始化地图点击事件\r\n t.clickMap();\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 //地图缩放开始前事件\r\n t.zoomStart();\r\n //地图缩放结束后事件\r\n t.zoomEnd();\r\n this.mapCreated = true;\r\n }\r\n //创建地图\r\n createMap () {\r\n let t = this;\r\n const {mapCenter,mapStyle,mapId,mapZoomLevel,minZoom,maxZoom} = t.props;\r\n let options ={\r\n zoom: mapZoomLevel || 10,\r\n center: mapCenter || [116.404,39.915],\r\n minZoom,maxZoom\r\n };\r\n if(window.VtxMap){\r\n window.VtxMap[mapId]= null;\r\n }else{\r\n window.VtxMap = {};\r\n }\r\n // 控件位置常量\r\n t.AnchorConstant = {\r\n tr: BMAP_ANCHOR_TOP_RIGHT,\r\n tl: BMAP_ANCHOR_TOP_LEFT,\r\n bl: BMAP_ANCHOR_BOTTOM_LEFT,\r\n br: BMAP_ANCHOR_BOTTOM_RIGHT\r\n }\r\n // 平移缩放控件大小\r\n t.NavigationConstant = {\r\n large: BMAP_NAVIGATION_CONTROL_LARGE,\r\n small: BMAP_NAVIGATION_CONTROL_SMALL,\r\n pan: BMAP_NAVIGATION_CONTROL_PAN,\r\n zoom: BMAP_NAVIGATION_CONTROL_ZOOM\r\n }\r\n let map = window.VtxMap[mapId] = t.state.gis = new BMap.Map(mapId.toString(),{\r\n enableMapClick : false,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n if(mapStyle){\r\n if(typeof(mapStyle) === 'string'){\r\n t.state.gis.setMapStyle({style:mapStyle});\r\n }\r\n if(mapStyle instanceof Array){\r\n t.state.gis.setMapStyle({styleJson:mapStyle});\r\n }\r\n }\r\n setTimeout(()=>{\r\n $('#myCanvasElement').parent().children('svg').css({'z-index':1});\r\n },500);\r\n // 初始化地图,设置中心点坐标和地图级别\r\n map.centerAndZoom(new BMap.Point(parseFloat(options.center[0]),parseFloat(options.center[1])), options.zoom);\r\n //添加地图类型控件\r\n if(t.props.satelliteSwitch){\r\n t.showMapTypeControl();\r\n }\r\n //初始化路况控件\r\n if(!t._trafficCtrl){\r\n t._trafficCtrl = new BMapLib.TrafficControl({\r\n // 是否显示路况提示面板\r\n showPanel : false\r\n });\r\n map.addControl(t._trafficCtrl);\r\n if(document.getElementById('tcBtn').remove){\r\n document.getElementById('tcBtn').remove();\r\n }else{\r\n document.getElementById('tcBtn').removeNode();\r\n }\r\n }\r\n //开启鼠标滚轮缩放\r\n map.enableScrollWheelZoom(true);\r\n //初始化获取行政区域数据的对象\r\n if(!t._boundary){\r\n t._boundary = new BMap.Boundary();\r\n }\r\n //初始化点聚合对象\r\n if(!t._cluster){\r\n t._cluster = new BMapLib.MarkerClusterer(map,{maxZoom: 17}); \r\n }\r\n //初始化测距对象\r\n if(!t._rangingTool){\r\n t._rangingTool = new BMapLib.DistanceTool(map);\r\n }\r\n //初始化区域限制对象\r\n if(!t._bmar){\r\n t._bmar = new BMapLib.AreaRestriction();\r\n }\r\n //初始化图元绘制对象\r\n if(!t._drawmanager){\r\n t._drawmanager = new BMapLib.DrawingManager(map);\r\n //监听绘制结束事件\r\n t._drawmanager.addEventListener('overlaycomplete', (e)=>{\r\n if(e.label){\r\n t.state.gis.removeOverlay(e.label);\r\n }\r\n let drawExtData = e.extData;\r\n //保存绘制图元的id便于后期比对\r\n t.state.drawIds[drawExtData.type].push(drawExtData.id);\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: e.overlay,\r\n geometry: {\r\n type: drawExtData.type == 'rectangle'?'polygon':drawExtData.type\r\n }\r\n };\r\n //点击事件\r\n e.overlay.addEventListener('click',(e)=>{\r\n t.clickGraphic(drawExtData.id,e);\r\n });\r\n //鼠标移入事件\r\n e.overlay.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(drawExtData.id,e);\r\n });\r\n //鼠标移出事件\r\n e.overlay.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(drawExtData.id,e);\r\n });\r\n //缓存绘制的图元信息\r\n t.GM.setGraphic(drawExtData.id,e.overlay);\r\n\r\n //区别点和圆的经纬度数据处理\r\n let {lnglatAry,_extent,path} = t.dealData(e.overlay);\r\n //处理返回数据\r\n switch(drawExtData.type){\r\n case 'point':\r\n backobj.geometry.x = e.overlay.getPosition().lng;\r\n backobj.geometry.y = e.overlay.getPosition().lat;\r\n break;\r\n case 'polyline':\r\n backobj.distance = e.calculate;\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.paths = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'polygon':\r\n backobj.area = e.calculate;\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 = e.calculate;\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 = e.overlay.getCenter().lng;\r\n backobj.geometry.y = e.overlay.getCenter().lat;\r\n backobj.geometry.radius = e.overlay.getRadius();\r\n backobj.area = e.calculate;\r\n break;\r\n }\r\n t.GM.setGraphicParam(drawExtData.id,backobj);\r\n t._drawmanager.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 }\r\n t.initPropsForUser();\r\n }\r\n /* \r\n 切换地图矢量图和卫星图背景\r\n type: \r\n BMAP_NORMAL_MAP 矢量图\r\n BMAP_SATELLITE_MAP 单卫星图 (暂定不用)\r\n BMAP_HYBRID_MAP 卫星路况图\r\n */\r\n setMapType(type){\r\n switch (type) {\r\n case 'sl':\r\n this.state.gis.setMapType(BMAP_NORMAL_MAP);\r\n break;\r\n case 'wx':\r\n this.state.gis.setMapType(BMAP_HYBRID_MAP);\r\n break;\r\n }\r\n }\r\n //增加图片图层\r\n imageUrlOverlay(imageAry){\r\n let t = this;\r\n imageAry.map((item,index)=>{\r\n let {sw,ne,url,opacity} = 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 swp = new BMap.Point(sw[0],sw[1]),\r\n nep = new BMap.Point(ne[0],ne[1]),\r\n option = {\r\n opacity: opacity || 1,\r\n displayOnMinLevel: item.displayOnMinLevel || 3,\r\n displayOnMaxLevel: item.displayOnMaxLevel || 19,\r\n imageURL: url\r\n },\r\n swnep = new BMap.Bounds(swp, nep),\r\n imageUrlOverlay = new BMap.GroundOverlay(swnep, option);\r\n t.state.gis.addOverlay(imageUrlOverlay);\r\n\r\n }else{\r\n console.warn(`区域经纬度sw/ne数据错误`);\r\n return false;\r\n }\r\n })\r\n }\r\n //新增点位\r\n addPoint(mapPoints,type){\r\n let t = this;\r\n let psids = [...t.state.pointIds];\r\n mapPoints.map((item,index)=>{\r\n //如果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 BAnimationType: 3,\r\n //高德以左上定位,百度以中心为定位\r\n //默认点的偏移值就不同\r\n markerContentX: -15,\r\n markerContentY: -30,\r\n deg: 0\r\n }\r\n if(item.markerContent){\r\n cg = {...cg,markerContentX: 0,markerContentY: 0,width:100,height:30};\r\n }\r\n //初始化默认数据\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let position = new BMap.Point(item.longitude,item.latitude);\r\n let marker = null;\r\n if(item.markerContent){\r\n /*自定义html加点\r\n 用Label来实现,无法再添加label(高德有判断,实现不同)*/\r\n //覆盖物参数\r\n let markerOption = {\r\n offset: new BMap.Size(cg.markerContentX + cg.width/2,\r\n cg.markerContentY + cg.height/2),\r\n icon: null\r\n }\r\n let icon = new BMap.Icon(\r\n `${configUrl.mapServerURL}/images/touming.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n markerOption = {...markerOption,icon};\r\n marker = new BMap.Marker(position,markerOption);\r\n\r\n //覆盖物参数\r\n let markerLOption = {\r\n offset: new BMap.Size(0,0)\r\n };\r\n let markerL = new BMap.Label(item.markerContent,markerLOption);\r\n markerL.setStyle({\r\n backgroundColor : '',\r\n border : '0'\r\n });\r\n marker.setLabel(markerL);\r\n }else{\r\n /*添加非html点位*/\r\n //覆盖物参数\r\n let markerOption = {\r\n offset: new BMap.Size(cg.markerContentX + cg.width/2,\r\n cg.markerContentY + cg.height/2),\r\n icon: null\r\n }\r\n let icon = new BMap.Icon(\r\n item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n markerOption = {...markerOption,icon};\r\n marker = new BMap.Marker(position,markerOption);\r\n //设置选择角度\r\n marker.setRotation(cg.deg);\r\n //添加label\r\n if(item.canShowLabel && cg.labelContent){\r\n //label默认样式\r\n let labelClass = 'label-content';\r\n //接受label自定义样式\r\n if(item.labelClass){\r\n labelClass = item.labelClass.split(',').join(' ');\r\n }\r\n let markerLabel = new BMap.Label(\r\n \"<div class='\"+labelClass+\"' style=\\\"margin-left: 0;\\\">\"\r\n + cg.labelContent + \"</div>\", {\r\n offset : new BMap.Size(cg.labelPixelX,cg.labelPixelY)\r\n });\r\n markerLabel.setStyle({\r\n border : '0',\r\n backgroundColor : ''\r\n });\r\n marker.setLabel(markerLabel);\r\n }\r\n }\r\n if(cg.zIndex || cg.zIndex === 0){\r\n marker.setZIndex(cg.zIndex);\r\n }\r\n //添加点到地图\r\n t.state.gis.addOverlay(marker);\r\n if(!item.markerContent && cg.BAnimationType == 0){\r\n marker.setAnimation(BMAP_ANIMATION_BOUNCE);\r\n }else if(!item.markerContent && cg.BAnimationType == 1){\r\n marker.setAnimation(BMAP_ANIMATION_DROP);\r\n }\r\n //点击事件\r\n marker.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n marker.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n marker.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存所有点的id\r\n psids.push(item.id);\r\n //缓存当前点的图元对象和基本数据\r\n t.GM.setGraphic(item.id,marker)\r\n .setGraphicParam(item.id,{\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 if(type !== 'defined'){\r\n //所有点缓存在state中\r\n // t.setState({\r\n // pointIds: psids\r\n // });\r\n t.state.pointIds = psids;\r\n }\r\n }\r\n //更新点位\r\n updatePoint(mapPoints){\r\n let t = this;\r\n // let dpoints = [],apoints = [];\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 = t.GM.getGraphic(item.id);\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 BAnimationType: 3,\r\n //高德以左上定位,百度以中心为定位\r\n //默认点的偏移值就不同\r\n markerContentX: -15,\r\n markerContentY: -30,\r\n deg: 0\r\n }\r\n if(item.markerContent){\r\n cg = {...cg,markerContentX: 0,markerContentY: 0,width:100,height:30};\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n if(item.markerContent){\r\n gc.setOffset(new BMap.Size(cg.markerContentX + cg.width/2,\r\n cg.markerContentY + cg.height/2));\r\n let icon = new BMap.Icon(\r\n `${configUrl.mapServerURL}/images/touming.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n gc.setIcon(icon);\r\n if(!!gc.getLabel()){\r\n gc.getLabel().setContent(item.markerContent);\r\n gc.getLabel().setOffset(new BMap.Size(0,0));\r\n }else{\r\n //覆盖物参数\r\n let markerLOption = {\r\n offset: new BMap.Size(0,0)\r\n };\r\n let markerL = new BMap.Label(item.markerContent,markerLOption);\r\n markerL.setStyle({\r\n backgroundColor : '',\r\n border : '0'\r\n });\r\n gc.setLabel(markerL);\r\n }\r\n }else{\r\n cg.width = cg.width || gc.getIcon().size.width;\r\n cg.height = cg.height || gc.getIcon().size.height;\r\n //未改变方式的点 直接修改数据\r\n let icon = new BMap.Icon(\r\n item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n gc.setIcon(icon);\r\n gc.setOffset(new BMap.Size((cg.markerContentX || -15) + cg.width/2,\r\n (cg.markerContentY || -30) + cg.height/2));\r\n //修改角度\r\n gc.setRotation(cg.deg || 0);\r\n //添加label\r\n if(item.canShowLabel && cg.labelContent){\r\n let markerLabel = gc.getLabel(),\r\n //label默认样式\r\n labelClass = 'label-content';\r\n //接受label自定义样式\r\n if(item.labelClass){\r\n labelClass = item.labelClass.split(',').join(' ');\r\n }\r\n let labelContent = \"<div class='\"+labelClass+\"' style=\\\"margin-left: 0;\\\">\"\r\n + cg.labelContent + \"</div>\",\r\n labelOffset = new BMap.Size(cg.labelPixelX,cg.labelPixelY);\r\n if(markerLabel){\r\n markerLabel.setContent(labelContent);\r\n markerLabel.setOffset(labelOffset);\r\n }else{\r\n markerLabel = new BMap.Label(\r\n labelContent, {\r\n offset : labelOffset\r\n });\r\n markerLabel.setStyle({\r\n border : '0',\r\n backgroundColor : ''\r\n });\r\n gc.setLabel(markerLabel);\r\n }\r\n }else{\r\n if(!!gc.getLabel()){\r\n gc.getLabel().setContent('');\r\n }\r\n }\r\n if(cg.BAnimationType == 0){\r\n gc.setAnimation(BMAP_ANIMATION_BOUNCE);\r\n }else if(cg.BAnimationType == 1){\r\n gc.setAnimation(BMAP_ANIMATION_DROP);\r\n }else{\r\n gc.setAnimation(null);\r\n }\r\n /*moveTo*/\r\n }\r\n //动画效果会延迟执行经纬度的切换\r\n if(cg.isAnimation){\r\n t.moveTo(item.id,[item.longitude,item.latitude],cg.animationDelay,cg.autoRotation,item.url,item.urlleft);\r\n }else{\r\n //修改经纬度\r\n gc.setPosition(new BMap.Point(item.longitude,item.latitude));\r\n }\r\n if(cg.zIndex || cg.zIndex === 0){\r\n gc.setZIndex(cg.zIndex);\r\n }\r\n t.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 t.moveAnimation();\r\n // //删除改变了加载方式的点\r\n // dpoints.map((item,index)=>{\r\n // t.removeGraphic(item,'point');\r\n // });\r\n // if(apoints.length > 0){\r\n // //重新加载改变了方式的点\r\n // setTimeout(()=>{\r\n // t.addPoint(apoints);\r\n // },100);\r\n // }\r\n }\r\n //添加线\r\n addLine(mapLines,type){\r\n let t = this;\r\n let lsids = [...t.state.lineIds];\r\n //遍历添加线(图元)\r\n mapLines.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (t.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 //初始化默认参数\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 //合并参数\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //处理线的点数组\r\n let linePath = item.paths.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n }),\r\n //处理线的参数\r\n lineOption = {\r\n strokeColor : cg.color, // 线颜色\r\n strokeWeight : cg.lineWidth, // 线宽\r\n strokeOpacity : cg.pellucidity, // 线透明度\r\n strokeStyle : cg.lineType// 线样式\r\n };\r\n //创建线对象\r\n let line = new BMap.Polyline(linePath,lineOption);\r\n //判断线显示和隐藏\r\n if(cg.isHidden){\r\n line.hide();\r\n }else{\r\n line.show();\r\n }\r\n lsids.push(item.id);\r\n //添加线至地图\r\n t.state.gis.addOverlay(line);\r\n //点击事件\r\n line.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n line.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n line.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n t.GM.setGraphic(item.id,line)\r\n .setGraphicParam(item.id,{\r\n attributes: {\r\n ...item,\r\n paths: item.paths,\r\n other: item\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: item.paths\r\n }\r\n });\r\n });\r\n if(type !== 'defined'){\r\n t.state.lineIds = lsids;\r\n // t.setState({\r\n // lineIds: lsids\r\n // });\r\n }\r\n }\r\n //更新线\r\n updateLine(mapLines){\r\n let t = this;\r\n //遍历添加线(图元)\r\n mapLines.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (t.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 }else{\r\n console.warn(`更新的多折线id不存在!`);\r\n return false;\r\n }\r\n let gc = t.GM.getGraphic(item.id);\r\n //初始化默认参数\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',//'solid' 'dashed'\r\n isHidden: false\r\n }\r\n //合并参数\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //处理线的点数组\r\n let linePath = item.paths.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n });\r\n //修改线点位数据\r\n gc.setPath(linePath);\r\n //修改线颜色\r\n gc.setStrokeColor(cg.color);\r\n //修改透明度\r\n gc.setStrokeOpacity(cg.pellucidity);\r\n //修改线宽度\r\n gc.setStrokeWeight(cg.lineWidth);\r\n //修改线的类型\r\n gc.setStrokeStyle(cg.lineType);\r\n //判断线显示和隐藏\r\n if(cg.isHidden){\r\n gc.hide();\r\n }else{\r\n gc.show();\r\n }\r\n t.GM.setGraphicParam(item.id,{\r\n attributes: {\r\n ...item,\r\n paths: item.paths,\r\n other: item\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: item.paths\r\n }\r\n });\r\n });\r\n }\r\n //添加面\r\n addPolygon(mapPolygons){\r\n let t = this;\r\n let pgsids = [...t.state.polygonIds];\r\n //遍历添加面(图元)\r\n mapPolygons.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (t.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 //初始化参数\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 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 },\r\n polygonPath = item.rings.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n });\r\n //创建面对象\r\n let polygon = new BMap.Polygon(polygonPath,polygonOption);\r\n //添加面至地图\r\n t.state.gis.addOverlay(polygon);\r\n //点击事件\r\n polygon.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n polygon.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n polygon.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存面id\r\n pgsids.push(item.id);\r\n //缓存面图元对象和对于传入数据\r\n t.GM.setGraphic(item.id,polygon)\r\n .setGraphicParam(item.id,{\r\n attributes: {\r\n ...item,\r\n rings: item.rings,\r\n other: item\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: item.rings\r\n },\r\n });\r\n });\r\n t.state.polygonIds = pgsids;\r\n // t.setState({\r\n // polygonIds: pgsids\r\n // });\r\n }\r\n //更新面\r\n updatePolygon(mapPolygons){\r\n let t = this;\r\n mapPolygons.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (t.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 = t.GM.getGraphic(item.id);\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 polygonPath = item.rings.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n });\r\n //更新经纬度\r\n gc.setPath(polygonPath);\r\n //更新边框线颜色\r\n gc.setStrokeColor(cg.lineColor);\r\n //更新填充色\r\n gc.setFillColor(cg.color);\r\n //更新变线透明度\r\n gc.setStrokeOpacity(cg.lineOpacity);\r\n //更新填充色透明度\r\n gc.setFillOpacity(cg.pellucidity);\r\n //更新边线宽度\r\n gc.setStrokeWeight(cg.lineWidth);\r\n //更新边线类型\r\n gc.setStrokeStyle(cg.lineType);\r\n t.GM.setGraphicParam(\r\n item.id,\r\n {\r\n attributes: {\r\n ...item,\r\n rings: item.rings,\r\n other: item\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: item.rings\r\n }\r\n }\r\n );\r\n }else{\r\n console.warn(`更新的多边形id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //添加圆 circle\r\n addCircle(mapCircles){\r\n let t = this;\r\n let ccsids = [...t.state.circleIds];\r\n mapCircles.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (t.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 },\r\n centerPoint = new BMap.Point(item.longitude,item.latitude);\r\n //创建圆图元实例\r\n let circle = new BMap.Circle(centerPoint,item.radius,circleOption);\r\n //添加圆至地图\r\n t.state.gis.addOverlay(circle);\r\n //点击事件\r\n circle.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n circle.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n circle.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n ccsids.push(item.id);\r\n //缓存数据\r\n t.GM.setGraphic(item.id,circle)\r\n .setGraphicParam(item.id,{\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 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 (t.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 = t.GM.getGraphic(item.id);\r\n //获取原有的面属性,转换key值\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 centerPoint = new BMap.Point(item.longitude,item.latitude);\r\n //修改中心点\r\n gc.setCenter(centerPoint);\r\n //修改半径\r\n gc.setRadius(item.radius);\r\n //修改边线颜色\r\n gc.setStrokeColor(cg.lineColor);\r\n //修改填充颜色\r\n gc.setFillColor(cg.color);\r\n //修改边线透明度\r\n gc.setStrokeOpacity(cg.lineOpacity);\r\n //修改填充透明度\r\n gc.setFillOpacity(cg.pellucidity);\r\n //修改边线宽度\r\n gc.setStrokeWeight(cg.lineWidth);\r\n //修改边线样式\r\n gc.setStrokeStyle(cg.lineType);\r\n //缓存图元的数据,便于后期操作\r\n t.GM.setGraphicParam(item.id,{\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 }else{\r\n console.warn(`更新的圆id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //画出对应边界线 name区域名\r\n addBaiduBoundary(bdNames){\r\n let t = this;\r\n bdNames.forEach(name=>{\r\n t._boundary.get(name,(ary)=>{\r\n // fix 飞地有多个区域的问题\r\n let arr = [];\r\n ary.boundaries.forEach((item) => {\r\n let id = 'boundary' + new Date().getTime() + Math.random();\r\n let paths = item.split(';').map(function (item, index) {\r\n return item.split(',');\r\n });\r\n arr.push({ id: id, rings: paths , name: name})\r\n t.state.boundaryInfo.push({ id: id, name: name });\r\n })\r\n t.addPolygon(arr);\r\n });\r\n })\r\n }\r\n //删除对应应边界线 name区域名\r\n removeBaiduBoundary(removedBDNames){\r\n let t = this;\r\n let removedBDIds = t.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)>-1).map(item=>item.id);\r\n t.setState({boundaryInfo:t.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)==-1)});\r\n removedBDIds.forEach(id=>{\r\n t.removeGraphic(id,'polygon');\r\n });\r\n }\r\n //热力图\r\n heatMapOverlay(d = {}){\r\n let t = this;\r\n let cg = {\r\n radius: 20,\r\n max: 100,\r\n visible: true,\r\n opacity: 0.7\r\n };\r\n if(d.config){\r\n cg = {...cg,...d.config};\r\n }\r\n if(!t.heatmap){\r\n t.heatmap = new BMapLib.HeatmapOverlay({\r\n visible: cg.visible\r\n });\r\n t.state.gis.addOverlay(t.heatmap);\r\n }\r\n let option = {\r\n radius: cg.radius,\r\n //百度是1-100,高德是0-1\r\n opacity: eval(cg.opacity) * 100,\r\n visible: cg.visible\r\n }\r\n if(cg.gradient){\r\n option.gradient = cg.gradient;\r\n }\r\n t.heatmap.setDataSet({\r\n max: cg.max,\r\n data: d.data || []\r\n });\r\n t.heatmap.setOptions(option);\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 BMap.InfoWindow(sContent);\r\n \r\n infowindow.setWidth(cg.width);\r\n infowindow.setHeight(cg.height);\r\n\r\n if(d.onClose instanceof Function){\r\n infowindow.addEventListener(\"clickclose\", e => {\r\n d.onClose(e);\r\n })\r\n }\r\n\r\n if(d.lat && d.lng && d.content){\r\n render(d.content, sContent);\r\n t.state.gis.openInfoWindow(infowindow, new BMap.Point(d.lng,d.lat));\r\n\r\n } else {\r\n infowindow && t.state.gis.closeInfoWindow();\r\n }\r\n }\r\n //添加海量点 \r\n addPointCollection(data = []) {\r\n let t = this;\r\n data.map((item,index)=>{\r\n let d = item || {};\r\n let points = [];\r\n (d.points || []).map(function(d,i){\r\n let p = new BMap.Point(d.lng,d.lat);\r\n p.attributes = d;\r\n points.push(p);\r\n })\r\n let options = {\r\n size: gisMapConstant[d.size] || gisMapConstant['normal'],\r\n shape: gisMapConstant[d.shape] || gisMapConstant['circle'],\r\n color: d.color || '#d340c3'\r\n }\r\n // 初始化PointCollection\r\n let VotexpointCollection = new BMap.PointCollection(points, options); \r\n t.state.gis.addOverlay(VotexpointCollection); // 添加Overlay\r\n t.morepoints.push({\r\n id: d.id,\r\n value: VotexpointCollection\r\n });\r\n VotexpointCollection.addEventListener('click', function (e) {\r\n if('clickPointCollection' in t.props && typeof(t.props.clickPointCollection) == 'function'){\r\n let obj = {\r\n id: d.id,\r\n ...e.point,\r\n mapLayer: VotexpointCollection\r\n }\r\n t.props.clickPointCollection(obj);\r\n }\r\n });\r\n });\r\n }\r\n //更新海量点\r\n updatePointCollection(data = []) {\r\n let t = this;\r\n data.map((ds,i)=>{\r\n t.morepoints.map(function (item,index) {\r\n if(item.id == ds.id){\r\n let points = [];\r\n ds.points.map(function(d,i){\r\n let p = new BMap.Point(d.lng,d.lat);\r\n p.attributes = d;\r\n points.push(p);\r\n })\r\n item.value.setPoints(points);\r\n item.value.setStyles({\r\n size: gisMapConstant[ds.size] || gisMapConstant['normal'],\r\n shape: gisMapConstant[ds.shape] || gisMapConstant['circle'],\r\n color: ds.color || '#d340c3'\r\n })\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 //点击图元事件\r\n clickGraphic (id,e) {\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if(t.state.editId == id)return false;\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.clientY,//当前点所在的位置(屏幕)\r\n left: e.clientX,\r\n e: e\r\n }\r\n t.props.clickGraphic(obj);\r\n }\r\n }\r\n //图元鼠标悬浮事件\r\n mouseOverGraphic(id,e){\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if(t.state.editId == id)return false;\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.clientY,//当前点所在的位置(屏幕)\r\n left: e.clientX,\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 //编辑中的图元关闭其他事件返回\r\n if(t.state.editId == id)return false;\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.clientY,//当前点所在的位置(屏幕)\r\n left: e.clientX,\r\n }\r\n t.props.mouseOutGraphic(obj);\r\n }\r\n }\r\n /*地图事件处理*/\r\n //地图点击事件\r\n clickMap(){\r\n let t =this;\r\n if(typeof(t.props.clickMap) ===\"function\"){\r\n t.state.gis.addEventListener('click',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n obj.clickLngLat = e.point;\r\n obj.pixel = e.pixel;\r\n t.props.clickMap(obj);\r\n });\r\n }\r\n }\r\n //地图拖动之前事件\r\n dragMapStart(){\r\n let t = this;\r\n if(typeof(t.props.dragMapStart) === 'function'){\r\n t.state.gis.addEventListener('dragstart',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapStart(obj);\r\n })\r\n }\r\n }\r\n //地图拖动结束后事件\r\n dragMapEnd(){\r\n let t = this;\r\n if(typeof(t.props.dragMapEnd) === 'function'){\r\n t.state.gis.addEventListener('dragend',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapEnd(obj);\r\n })\r\n }\r\n }\r\n //地图移动之前事件\r\n moveStart(){\r\n let t = this;\r\n if(typeof(t.props.moveStart) === 'function'){\r\n t.state.gis.addEventListener('movestart',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveStart(obj);\r\n })\r\n }\r\n }\r\n //地图移动结束后事件\r\n moveEnd(){\r\n let t = this;\r\n if(typeof(t.props.moveEnd) === 'function'){\r\n t.state.gis.addEventListener('moveend',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveEnd(obj);\r\n })\r\n }\r\n }\r\n //地图更改缩放级别开始时触发触发此事件\r\n zoomStart(){\r\n let t = this;\r\n if(typeof(t.props.zoomStart) === 'function'){\r\n t.state.gis.addEventListener('zoomstart',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.zoomStart(obj);\r\n });\r\n }\r\n }\r\n //地图更改缩放级别结束时触发触发此事件\r\n zoomEnd(){\r\n let t = this;\r\n if(typeof(t.props.zoomEnd) === 'function'){\r\n t.state.gis.addEventListener('zoomend',(e)=>{\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 /*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 let mgt = [116.404,39.915];\r\n if(gt){\r\n //经纬度 必须存在 否则不操作\r\n if (!gt[0] || !gt[1]) {\r\n return false;\r\n }\r\n //如果设置的经纬度 与当前中心点一样 不操作\r\n let c = t.state.gis.getCenter();\r\n if(c.lng == gt[0] && c.lat == gt[1]){\r\n return false;\r\n }\r\n mgt = gt;\r\n }\r\n t.state.gis.setCenter(new BMap.Point(mgt[0],mgt[1]));\r\n t.setState({center: mgt});\r\n }\r\n //设置地图比例尺\r\n setZoomLevel (zoom) {\r\n let t =this;\r\n let z = t.getZoomLevel();\r\n if(z == zoom){\r\n return false;\r\n }\r\n t.state.gis.setZoom(zoom);\r\n }\r\n //将制定图元展示在视野内 (强制改变地图中心位置)\r\n /*\r\n 参数arg格式如下1,2\r\n 1.string 格式如:'1,a,2,3,4'\r\n 2.数组 ['1','2']\r\n */\r\n setVisiblePoints (mapVisiblePoints) {\r\n let t = this;\r\n let arg = null;\r\n let type = mapVisiblePoints.type;\r\n let ary = [];\r\n let obj = null;\r\n\r\n switch(mapVisiblePoints.fitView){\r\n case 'point':\r\n arg = this.state.pointIds;\r\n break;\r\n case 'line':\r\n arg = this.state.lineIds;\r\n break;\r\n case 'polygon':\r\n arg = this.state.polygonIds;\r\n break;\r\n case 'circle':\r\n arg = this.state.circleIds;\r\n break;\r\n case 'all':\r\n arg = this.state.pointIds.concat(this.state.lineIds).concat(this.state.polygonIds).concat(this.state.circleIds);\r\n break;\r\n default:\r\n arg = mapVisiblePoints.fitView;\r\n break;\r\n }\r\n\r\n /**\r\n * 用法\r\n * map.setVisiblePoints('lng,lat;lng,lat')\r\n */\r\n if(typeof(arg) === 'string'){\r\n ary = arg.split(',');\r\n obj = t.getFitView(ary);\r\n \r\n } else if(arg instanceof Array){\r\n /**\r\n * 用法\r\n * map.setVisiblePoints([[lng,lat],[lng,lat]])\r\n */\r\n if(arg[0] instanceof Array){\r\n let a = [];\r\n for(let i = 0 ; i < arg.length ; i++){\r\n a.push(new BMap.Point(arg[i][0],arg[i][1]));\r\n }\r\n obj = t.state.gis.getViewport(a);\r\n /**\r\n * 用法\r\n * map.setVisiblePoints(['lng,lat','lng,lat'])\r\n */\r\n } else {\r\n obj = t.getFitView(arg);\r\n }\r\n }\r\n if(!obj){return false} \r\n if(!type || type == 'all'){\r\n t.state.gis.centerAndZoom(obj.center, obj.zoom);\r\n }else if(type == 'zoom'){\r\n t.setZoomLevel(obj.zoom);\r\n }else if(type == 'center'){\r\n t.setCenter([obj.center.lng,obj.center.lat]);\r\n }\r\n }\r\n /*get方法*/\r\n //获取当前地图的中心位置\r\n getCurrentCenter(){\r\n let t =this;\r\n return t.state.gis.getCenter();\r\n }\r\n //获取当前比例尺\r\n getZoomLevel (){\r\n let t =this;\r\n return t.state.gis.getZoom();\r\n }\r\n //获取对应经纬的最优 zoomLevel和center\r\n getFitView(ids){\r\n let t = this;\r\n if(ids.length > 0){\r\n let allLayers = [];\r\n for(let i = 0 ; i < ids.length ; i++){\r\n switch((t.GM.getGraphicParam(ids[i]) || {}).geometryType){\r\n case 'point':\r\n if(t.GM.getGraphic(ids[i])){\r\n allLayers.push(t.GM.getGraphic(ids[i]).getPosition());\r\n }\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n if(t.GM.getGraphic(ids[i])){\r\n allLayers = [...allLayers,...t.GM.getGraphic(ids[i]).getPath()];\r\n }\r\n break;\r\n case 'circle':\r\n if(t.GM.getGraphic(ids[i])){\r\n allLayers.push(t.GM.getGraphic(ids[i]).getCenter());\r\n }\r\n break;\r\n }\r\n }\r\n if(allLayers.length > 0){\r\n return t.state.gis.getViewport(allLayers);\r\n }\r\n }\r\n }\r\n\r\n // 设置最佳视野\r\n fitView(arr=[]){\r\n const t= this;\r\n if(arr?.length >0){\r\n let obj = t.state.gis.getViewport(arr.map(item=>new BMap.Point(item[0], item[1])));\r\n t.state.gis.centerAndZoom(obj.center, obj.zoom);\r\n }\r\n }\r\n\r\n //获取图元数据\r\n getGraphic (id) {\r\n let t = this;\r\n if(!id){\r\n return false;\r\n }\r\n let gp = t.GM.getGraphicParam(id);\r\n let gg = t.GM.getGraphic(id);\r\n if(!gg){\r\n return false;\r\n }\r\n let p = {},pts = [],lng = 0,lat = 0;\r\n switch(gp.geometryType){\r\n case 'point':\r\n lng = gg.getPosition().lng;\r\n lat = gg.getPosition().lat;\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 mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n paths: pts\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n paths: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n paths: pts\r\n }\r\n }\r\n }\r\n break;\r\n case 'polygon':\r\n // fix: 编辑图元时面积计算不正确,需要过滤一下重复的经纬度\r\n // pts = uniqBy(gg.getPath(), function(res){\r\n // return res.lng && res.lat\r\n // }).map((item)=>{\r\n // return [item.lng,item.lat]\r\n // });\r\n // 不是很理解这段计算面积为啥需要过滤重复的经纬度--会导致点位丢失\r\n pts = gg.getPath().map((item)=>{\r\n return [item.lng,item.lat]\r\n });\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n rings: pts\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n rings: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n rings: pts\r\n }\r\n }\r\n }\r\n break;\r\n case 'circle':\r\n lng = gg.getCenter().lng;\r\n lat = gg.getCenter().lat;\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 //单个删除图元\r\n removeGraphic(id,type){\r\n let t = this;\r\n let graphic = t.GM.getGraphic(id);\r\n if(!!graphic){\r\n //清除聚合点 避免异常\r\n t._cluster.removeMarker(this.GM.getGraphic(id));\r\n //清除地图中图元\r\n t.state.gis.removeOverlay(graphic);\r\n //清除对应id的图元数据缓存\r\n t.GM.removeGraphic(id);\r\n }else{\r\n return false;\r\n }\r\n for(let i = 0 ; i < t.movePoints.length ; i++){\r\n if(t.movePoints[i].id == id){\r\n t.movePoints.splice(i,1);\r\n continue;\r\n }\r\n }\r\n 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 /*根据图元id,使图元变成可编辑状态*/\r\n doEdit (id){\r\n let t = this;\r\n //获取编辑点的图元和参数\r\n let graphic = t.GM.getGraphic(id);\r\n let gtp = t.GM.getGraphicParam(id);\r\n if(!graphic)return false;\r\n //关闭先前编辑的图元\r\n if(!!t.state.editId){\r\n t.endEdit();\r\n }\r\n if(!t.editGraphicChange){\r\n //编辑变动后\r\n t.editGraphicChange = (e)=>{\r\n let id = t.state.editId,\r\n param = t.getGraphic(id),\r\n obj = {\r\n param,e,id,\r\n geometry: param.geometry\r\n };\r\n if(param.geometry.type == 'polygon'){\r\n // obj.area = BMapLib.GeoUtils.getPolygonArea(param.mapLayer);\r\n // fix: 只能是数组计算之前的计算因为重复的经纬度导致面积为NAN\r\n // obj.area = BMapLib.GeoUtils.getPolygonArea(param.geometry.rings.map((item)=>{\r\n // return new BMap.Point(item[0], item[1])\r\n // }));\r\n obj.area = t.getPolygonArea(param.geometry.rings);\r\n }\r\n if(param.geometry.type == 'polyline'){\r\n obj.distance = t.calculateDistance(param.geometry.paths);\r\n }\r\n if(param.geometry.type == 'circle'){\r\n obj.area = Math.pow(param.geometry.radius,2)*Math.PI;\r\n if(t.editTimeout){\r\n clearTimeout(t.editTimeout);\r\n }\r\n t.editTimeout = setTimeout(()=>{\r\n t.setState({editGraphic:obj},()=>{\r\n t.props.editGraphicChange(obj);\r\n });\r\n },300);\r\n }else{\r\n t.setState({editGraphic:obj},()=>{\r\n t.props.editGraphicChange(obj);\r\n });\r\n }\r\n }\r\n }\r\n switch(gtp.geometryType){\r\n case 'point':\r\n graphic.enableDragging();\r\n graphic.addEventListener(\"dragend\",t.editGraphicChange);\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n graphic.enableEditing();\r\n graphic.addEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n case 'circle':\r\n graphic.enableEditing();\r\n graphic.addEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n }\r\n t.setState({editId:id});\r\n }\r\n //关闭编辑\r\n endEdit (){\r\n let t = this;\r\n //获取编辑点的图元和参数\r\n let graphic = t.GM.getGraphic(t.state.editId);\r\n let gtp = t.GM.getGraphicParam(t.state.editId);\r\n if(!graphic)return false;\r\n switch(gtp.geometryType){\r\n case 'point':\r\n graphic.disableDragging();\r\n graphic.removeEventListener(\"dragend\",t.editGraphicChange);\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n graphic.disableEditing();\r\n graphic.removeEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n case 'circle':\r\n graphic.disableEditing();\r\n graphic.removeEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n }\r\n let editGraphic = t.state.editGraphic;\r\n t.setState({\r\n editId: '',\r\n editGraphic: ''\r\n },()=>{\r\n if(editGraphic){\r\n t.props.editGraphicChange(editGraphic);\r\n }\r\n })\r\n }\r\n //绘制图元\r\n draw(obj){\r\n let t = this,drawParam = {};\r\n //先关闭(防止连点)\r\n t._drawmanager.close();\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 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.offset = new BMap.Size((drawParam.parameter.markerContentX || -15) + (drawParam.parameter.width || 30)/2,\r\n (drawParam.parameter.markerContentY || -30) + (drawParam.parameter.height || 30)/2);\r\n let icon = new BMap.Icon(\r\n drawParam.parameter.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n new BMap.Size(drawParam.parameter.width || 30,drawParam.parameter.height || 30)\r\n );\r\n icon.setImageSize(new BMap.Size(drawParam.parameter.width || 30,drawParam.parameter.height || 30));\r\n param.icon = icon;\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 || `${configUrl.mapServerURL}/images/defaultMarker.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._drawmanager.setDrawingMode('marker');\r\n t._drawmanager.open({markerOptions: 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._drawmanager.open({polylineOptions: param,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('polyline');\r\n break;\r\n case 'polygon':\r\n t._drawmanager.open({polygonOptions: paramgcr,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('polygon');\r\n break;\r\n case 'circle':\r\n t._drawmanager.open({circleOptions: paramgcr,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('circle');\r\n break;\r\n case 'rectangle':\r\n t._drawmanager.open({rectangleOptions: paramgcr,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('rectangle');\r\n break;\r\n }\r\n }\r\n //关闭绘制图元\r\n closeDraw(){\r\n let t = this;\r\n t._drawmanager.close();\r\n }\r\n //清空地图图元\r\n clearAll(){\r\n let t = this;\r\n //清空聚合\r\n if (t._cluster) {\r\n t._cluster.clearMarkers();\r\n }\r\n //关闭测距\r\n if(t._rangingTool){\r\n t._rangingTool.close();\r\n }\r\n //清空地图\r\n t.state.gis.clearOverlays();\r\n //清空缓存数据\r\n t.GM.clearAll();\r\n //关闭编辑\r\n t.endEdit();\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 /*工具方法*/\r\n //聚合地图图元(arg为空时聚合全部点)\r\n cluster (arg) {\r\n let t = this;\r\n let ary = t.clusterToolFunction((arg && arg?.length>0) ? arg : t.state.pointIds);\r\n t._cluster.addMarkers(ary);\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 let ary = t.clusterToolFunction(ids);\r\n if(ary.length > 0){\r\n t._cluster.removeMarkers(ary);\r\n }\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 clearClusters(){\r\n let t = this;\r\n t._cluster.clearMarkers();\r\n }\r\n //聚合功能公共方法(获取图元集合)\r\n clusterToolFunction(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 //过滤moveTo的点位\r\n //缓存所有聚合的点位\r\n let allps = [];\r\n for(let i = 0 ; i < ary.length ; i++){\r\n allps.push(t.GM.getGraphic(ary[i]));\r\n }\r\n return allps;\r\n }\r\n //测距\r\n vtxRangingTool (callback) {\r\n let t = this;\r\n let cb = (e)=>{\r\n //关闭测距\r\n t._rangingTool.close();\r\n //注销事件(避免重复)\r\n t._rangingTool.removeEventListener('drawend',cb);\r\n if(typeof(callback) ===\"function\"){\r\n let obj = {\r\n distance : e.distance\r\n };\r\n let objLngLats = new Array();\r\n for (let i = 0; i < e.points.length; i++) {\r\n objLngLats.push([ e.points[i].lng, e.points[i].lat ]);\r\n }\r\n obj.lnglats = objLngLats;\r\n callback(obj);\r\n }\r\n }\r\n t._rangingTool.addEventListener('drawend',cb);\r\n t._rangingTool.open(this.state.gis);\r\n }\r\n //开启路况\r\n openTrafficInfo(){\r\n let t =this;\r\n t._trafficCtrl.showTraffic();\r\n }\r\n //关闭路况\r\n hideTrafficInfo(){\r\n let t =this;\r\n t._trafficCtrl.hideTraffic();\r\n }\r\n //展示比例尺\r\n showControl (props){\r\n let t = this,location = t.AnchorConstant['tr'],type = '',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.type){\r\n type = t.NavigationConstant[config.showControl.type];\r\n }\r\n if(config.showControl.offset && config.showControl.offset.length>0){\r\n offset = new BMap.Size(config.showControl.offset[0],config.showControl.offset[1])\r\n scaleOffset = new BMap.Size(config.showControl.offset[0] + 70,config.showControl.offset[1])\r\n }\r\n // 左上角,添加比例尺\r\n let control = new BMap.ScaleControl({anchor: location, offset: scaleOffset});\r\n t.state.gis.addControl(control);\r\n t.scaleControl = control;\r\n if(type !== 'null'){\r\n //右上角,仅包含平移和缩放按钮\r\n let navigation = new BMap.NavigationControl({anchor: location, type: type, offset}); \r\n t.state.gis.addControl(navigation);\r\n t.navigationControl = navigation;\r\n }\r\n }\r\n // 移除比例尺\r\n removeControl() {\r\n const t = this;\r\n if(t.scaleControl) {\r\n t.state.gis.removeControl(t.scaleControl);\r\n t.scaleControl = null;\r\n }\r\n if(t.navigationControl) {\r\n t.state.gis.removeControl(t.navigationControl);\r\n t.navigationControl = null;\r\n }\r\n }\r\n //展示地图切换控件\r\n showMapTypeControl (props){\r\n let t = this,location = t.AnchorConstant['br'],offset=null;\r\n let config = props || t.props;\r\n if(t.mapTypeControl) {\r\n t.state.gis.removeControl(t.mapTypeControl);\r\n }\r\n if(config.satelliteSwitch.location){\r\n location = t.AnchorConstant[config.satelliteSwitch.location];\r\n }\r\n if(config.satelliteSwitch.offset && config.satelliteSwitch.offset.length>0){\r\n offset = new BMap.Size(config.satelliteSwitch.offset[0],config.satelliteSwitch.offset[1])\r\n }\r\n let mapTypes = [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]\r\n // 地图切换控件\r\n let control = new BMap.MapTypeControl({mapTypes, anchor: location, type: BMAP_MAPTYPE_CONTROL_HORIZONTAL, offset: offset});\r\n t.state.gis.addControl(control);\r\n t.mapTypeControl = control;\r\n }\r\n /*设置显示区域*/\r\n setAreaRestriction(sw_ne){\r\n let t = this;\r\n //修改了区域限制的js文件.\r\n let bounds = new BMap.Bounds(new BMap.Point(sw_ne[0][0],sw_ne[0][1]),new BMap.Point(sw_ne[1][0],sw_ne[1][1]));\r\n t._bmar.setBounds(this.state.gis,bounds);\r\n }\r\n /*取消显示区域*/\r\n clearAreaRestriction(){\r\n let t = this;\r\n t._bmar.clearBounds();\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 /*公共方法*/\r\n moveAnimation(){\r\n let t = this;\r\n if(t.moveToTimer){\r\n clearInterval(t.moveToTimer);\r\n }\r\n t.moveToTimer = setInterval(()=>{\r\n for(let i = 0;i < t.movePoints.length; i++){\r\n t.movePoints[i].waitTime += 10;\r\n t.movePoints[i].deleteTime -= 10;\r\n }\r\n t.movePoints.sort((x,y)=>{\r\n return y.waitTime -x.waitTime;\r\n });\r\n let nowMovePoints = t.movePoints.slice(0,10),deleteIndex=[];\r\n for(let i = 0;i < nowMovePoints.length; i++){\r\n let {id,rx,ry,waitTime,deleteTime} = nowMovePoints[i];\r\n let gc = t.GM.getGraphic(id);\r\n if(!gc){\r\n clearInterval(t.moveToTimer);\r\n }else{\r\n let gg = gc.getPosition();\r\n let tx = gg.lng + rx,ty = gg.lat + ry;\r\n gc.setPosition(new BMap.Point(tx,ty));\r\n t.movePoints[i].waitTime = 0;\r\n if(deleteTime <= 0){\r\n deleteIndex.push(i);\r\n }\r\n }\r\n }\r\n deleteIndex.sort((a,b)=>{return b-a});\r\n for(let i = 0 ; i < deleteIndex.length ; i++){\r\n t.movePoints.splice(deleteIndex[i],1);\r\n }\r\n if(nowMovePoints.length == 0){\r\n clearInterval(t.moveToTimer);\r\n }\r\n },10);\r\n }\r\n moveTo(id,lnglat,delay,autoRotation,urlright,urlleft){\r\n delay = delay || 3;\r\n let t = this,timer = 10,\r\n gc = t.GM.getGraphic(id);\r\n delay = eval(delay)*1000;\r\n let count = delay/timer;\r\n let s = gc.getPosition(),e = new BMap.Point(lnglat[0],lnglat[1]);\r\n if(s.equals(e)){\r\n return false;\r\n }else{\r\n let url= null;\r\n //计算角度,旋转\r\n if(autoRotation){\r\n let ddeg = t.rotateDeg(gc.getPosition(),lnglat);\r\n if(urlleft && (ddeg < -90 && ddeg > -270)){\r\n ddeg += 180;\r\n url = urlleft;\r\n }else{\r\n url = urlright;\r\n }\r\n let gcicon = gc.getIcon();\r\n gcicon.setImageUrl(url);\r\n gc.setIcon(gcicon);\r\n gc.setRotation(ddeg);\r\n }\r\n //拆分延迟移动定位\r\n let rx = (e.lng - s.lng)/count, ry = (e.lat - s.lat)/count;\r\n let isHave = false;\r\n for(let i = 0 ; i < t.movePoints.length ;i++){\r\n if(t.movePoints[i].id == id){\r\n t.movePoints.splice(i,1,{\r\n id,rx,ry,\r\n waitTime: 0,\r\n deleteTime: delay\r\n });\r\n isHave = true;\r\n }\r\n }\r\n if(!isHave){\r\n t.movePoints.push({\r\n id,rx,ry,\r\n waitTime: 0,\r\n deleteTime: delay\r\n });\r\n }\r\n }\r\n \r\n }\r\n //点位角度旋转(以指向东(右)为0°)\r\n rotateDeg(sp,ep){\r\n let t = this;\r\n let spLngLat = sp;\r\n if(Array.isArray(sp)){\r\n spLngLat = new BMap.Point(sp[0],sp[1]);\r\n }\r\n let s = t.state.gis.pointToPixel(spLngLat),\r\n //获取当前点位的经纬度\r\n e = t.state.gis.pointToPixel(new BMap.Point(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 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 showGraphicById (id){\r\n let t = this;\r\n if(t.GM.getGraphic(id)){\r\n t.GM.getGraphic(id).show();\r\n }\r\n }\r\n //隐藏图元\r\n hideGraphicById(id){\r\n let t = this;\r\n if(t.GM.getGraphic(id)){\r\n t.GM.getGraphic(id).hide();\r\n }\r\n }\r\n //获取地图当前的位置状态信息\r\n getMapExtent() {\r\n let t = this;\r\n let nowBounds = t.state.gis.getBounds();\r\n let obj = {};\r\n obj.southWest = {\r\n lng : nowBounds.getSouthWest().lng,\r\n lat : nowBounds.getSouthWest().lat\r\n };\r\n obj.northEast = {\r\n lng : nowBounds.getNorthEast().lng,\r\n lat : nowBounds.getNorthEast().lat\r\n };\r\n obj.nowCenter = t.state.gis.getCenter();\r\n obj.zoom = t.state.gis.getZoom();\r\n obj.mapSize = t.state.gis.getSize();\r\n obj.radius = t.calculatePointsDistance([obj.nowCenter.lng,obj.nowCenter.lat],\r\n [obj.northEast.lng,obj.northEast.lat]);\r\n return obj;\r\n }\r\n //计算2点间距离 单位m 精确到2位小数\r\n calculatePointsDistance(fp,ep){\r\n return Math.round(this.state.gis.getDistance(new BMap.Point(fp[0], fp[1]), \r\n new BMap.Point(ep[0], ep[1]))*100)/100;\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 calculateArea(id){\r\n var t = this;\r\n return t.state.gis.calculateArea(t.getGraphic(id));\r\n }\r\n //对比对象数据是否相等\r\n deepEqual(a,b){\r\n return Immutable.is(Immutable.fromJS(a),Immutable.fromJS(b));\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 // 信息窗口\r\n showInfoWindow(params){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.hideInfoWindow();\r\n }\r\n let poi = new BMap.Point(params.position[0], params.position[1]);\r\n t.popupWindow = new BMapLib.InfoBox(t.state.gis, params.content,{\r\n boxStyle: params.boxStyle,\r\n closeIconMargin: params.closeIconMargin || \"1px 1px 0 0\",\r\n enableAutoPan: true,\r\n align: 1,\r\n closeIconUrl: params.closeIconUrl || `${configUrl.mapServerURL}/images/close.png`,\r\n });\r\n let marker = new BMap.Marker(poi);\r\n t.popupWindow.open(marker);\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 hideInfoWindow(){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.popupWindow.close();\r\n }\r\n t.popupWindow = null;\r\n }\r\n //百度搜索功能\r\n searchPoints(searchValue,pageSize=10,pageIndex=0){\r\n return new Promise((resolve)=>{\r\n let psc = new BMap.LocalSearch(this.state.gis,{\r\n onSearchComplete:(result)=>{\r\n if(!result){\r\n resolve([]);\r\n }\r\n else if(result.getPageIndex()!=pageIndex){\r\n psc.gotoPage(pageIndex);\r\n }\r\n else{\r\n let res_arr = [];\r\n for(let i=0,len=result.getCurrentNumPois();i<len;i++){\r\n res_arr.push(result.getPoi(i));\r\n }\r\n resolve(res_arr.map((r)=>({\r\n id: r.uid,\r\n longitude: r.point.lng,\r\n latitude: r.point.lat,\r\n canShowLabel: true,\r\n config: {\r\n labelContent: r.title,\r\n labelPixelY: 27\r\n },\r\n other: 'search'\r\n })));\r\n }\r\n // console.log(result,result.getNumPages(),result.getPageIndex()); \r\n },\r\n pageCapacity:pageSize\r\n });\r\n psc.search(searchValue); \r\n })\r\n }\r\n //初始化\r\n componentDidMount(){\r\n let t = this;\r\n t.loadMapComplete.then(()=>{\r\n t.init();\r\n }) \r\n }\r\n //重新渲染结束\r\n componentDidUpdate(prevProps, prevState) {}\r\n //已加载组件,收到新的参数时调用\r\n UNSAFE_componentWillReceiveProps(nextProps) {\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 mapPointCollection,isclearAllPointCollection,\r\n isSetAreaRestriction,areaRestriction,isClearAreaRestriction,\r\n isClearAll,mapStyle,coverageType,\r\n infoWindowData\r\n } = nextProps;\r\n let props = t.props;\r\n // 设置地图地图样式\r\n if(mapStyle && !t.deepEqual(mapStyle,props.mapStyle)){\r\n if(typeof(mapStyle) === 'string'){\r\n t.state.gis.setMapStyle({style:mapStyle});\r\n }\r\n if(mapStyle instanceof Array){\r\n t.state.gis.setMapStyle({styleJson:mapStyle});\r\n }\r\n }\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType && !t.deepEqual(coverageType,props.coverageType)){\r\n t.setMapType(coverageType);\r\n }\r\n // 等待地图加载\r\n if(!t.mapCreated)return;\r\n \r\n /*添加海量点*/\r\n if(mapPointCollection instanceof Array && props.mapPointCollection instanceof Array && !t.deepEqual(mapPointCollection,props.mapPointCollection)){\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(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.addLine(addedData);\r\n t.updateLine(updatedData); \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,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(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(setCenter) == 'boolean' && setCenter) || (setCenter && setCenter !== t.props.setCenter)){\r\n t.setCenter(mapCenter);\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(setZoomLevel) == 'boolean' && setZoomLevel) || (setZoomLevel && setZoomLevel !== t.props.setZoomLevel)){\r\n t.setZoomLevel(mapZoomLevel);\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(isRangingTool) == 'boolean' && isRangingTool) || (isRangingTool && isRangingTool !== t.props.isRangingTool)){\r\n t.vtxRangingTool(mapRangingTool);\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(isSetAreaRestriction) == 'boolean' && isSetAreaRestriction) \r\n || (isSetAreaRestriction && isSetAreaRestriction !== t.props.isSetAreaRestriction) \r\n && areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n //关闭区域限制\r\n if((typeof(isClearAreaRestriction) == 'boolean' && isClearAreaRestriction) || (isClearAreaRestriction && isClearAreaRestriction !== t.props.isClearAreaRestriction)){\r\n t.clearAreaRestriction();\r\n }\r\n //清空地图\r\n if((typeof(isClearAll) == 'boolean' && isClearAll) || (isClearAll && isClearAll !== t.props.isClearAll)){\r\n t.clearAll();\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(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 // 初始化对外方法\r\n initPropsForUser(){\r\n const t = this;\r\n // t.state.gis[\"getCenter\"] = () => {\r\n // return t.getCurrentCenter();\r\n // }\r\n t.state.gis[\"setMapCenter\"] = (gt) => {\r\n t.setCenter(gt);\r\n }\r\n t.state.gis[\"fitView\"] = (arr) => {\r\n t.fitView(arr);\r\n }\r\n t.state.gis[\"getZoomLevel\"] = () => {\r\n return t.getZoomLevel();\r\n }\r\n t.state.gis[\"showInfoWindow\"] = (obj) => {\r\n return t.showInfoWindow(obj);\r\n }\r\n t.state.gis[\"hideInfoWindow\"] = () => {\r\n return t.hideInfoWindow();\r\n }\r\n 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[\"refresh\"] = () => {\r\n t.refresh();\r\n }\r\n }\r\n componentWillUnmount() {\r\n //关闭moveTo定时\r\n let t = this;\r\n if(t.state.gis){\r\n t.state.gis.clearOverlays();\r\n }\r\n t.state.gis = null;\r\n if(t.moveToTimer){\r\n clearInterval(t.moveToTimer);\r\n }\r\n window.VtxMap && (window.VtxMap[t.state.mapId]= null);\r\n }\r\n}\r\n\r\nexport default BaiduMap;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Map.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_unionBy","_default2","_interopRequireWildcard","_antd","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","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","_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","window","location","protocol","BMAP_PROTOCOL","BMap_loadScriptTime","Date","getTime","gisMapConstant","circle","star","square","rhombus","waterdrop","tiny","smaller","small","normal","big","bigger","huge","BaiduMap","_React$Component","props","_this","GM","graphicManage","getPolygonArea","initPointIndex","_cluster","_rangingTool","_bmar","_drawmanager","editGraphicChange","editTimeout","_boundary","moveToTimer","heatmap","morepoints","movePoints","popupWindow","mapCreated","state","gis","mapId","pointIds","lineIds","polygonIds","circleIds","editId","editGraphic","boundaryInfo","drawIds","point","polyline","polygon","rectangle","frameSelectProps","loadMapJs","loadPlugin","loadList","BMapLib","DistanceTool","Promise","resolve","reject","loadScript","concat","configUrl","mapServerURL","TrafficControl","MarkerClusterer","AreaRestriction","DrawingManager","HeatmapOverlay","GeoUtils","TextIconOverlay","InfoBox","all","then","BMap","_this2","loadMapComplete","ensurejQuery","$","getScript","bmapScriptUrl","attr","rel","type","href","appendTo","init","createMap","_this$props","mapPoints","mapLines","mapPolygons","mapCircles","imageOverlays","mapVisiblePoints","mapCluster","mapZoomLevel","isOpenTrafficInfo","mapPointCollection","areaRestriction","coverageType","_this$props2","boundaryName","heatMapData","infoWindowData","customizedBoundary","_this$state","setMapType","addPoint","addLine","addPolygon","addCircle","imageUrlOverlay","addBaiduBoundary","heatMapOverlay","infoWindow","addPointCollection","setVisiblePoints","cluster","openTrafficInfo","hideTrafficInfo","setAreaRestriction","showControl","clickMap","dragMapStart","dragMapEnd","moveStart","moveEnd","zoomStart","zoomEnd","_t$props","mapCenter","mapStyle","minZoom","maxZoom","options","zoom","center","VtxMap","AnchorConstant","tr","BMAP_ANCHOR_TOP_RIGHT","tl","BMAP_ANCHOR_TOP_LEFT","bl","BMAP_ANCHOR_BOTTOM_LEFT","br","BMAP_ANCHOR_BOTTOM_RIGHT","NavigationConstant","large","BMAP_NAVIGATION_CONTROL_LARGE","BMAP_NAVIGATION_CONTROL_SMALL","pan","BMAP_NAVIGATION_CONTROL_PAN","BMAP_NAVIGATION_CONTROL_ZOOM","map","Map","enableMapClick","setMapStyle","style","styleJson","setTimeout","parent","children","css","centerAndZoom","Point","parseFloat","satelliteSwitch","showMapTypeControl","_trafficCtrl","showPanel","addControl","document","getElementById","remove","removeNode","enableScrollWheelZoom","Boundary","addEventListener","_t$frameSelectProps$b","label","removeOverlay","drawExtData","extData","id","backobj","attributes","geometryType","mapLayer","overlay","geometry","clickGraphic","mouseOverGraphic","mouseOutGraphic","setGraphic","_t$dealData","dealData","lnglatAry","_extent","path","x","getPosition","lng","y","lat","distance","calculate","paths","area","rings","getCenter","radius","getRadius","setGraphicParam","close","drawEnd","callback","Function","initPropsForUser","BMAP_NORMAL_MAP","BMAP_HYBRID_MAP","imageAry","item","index","sw","ne","url","opacity","console","warn","swp","nep","option","displayOnMinLevel","displayOnMaxLevel","imageURL","swnep","Bounds","GroundOverlay","addOverlay","_this3","psids","isRepetition","longitude","latitude","cg","width","height","labelContent","labelPixelX","labelPixelY","BAnimationType","markerContentX","markerContentY","deg","markerContent","config","position","marker","markerOption","offset","Size","icon","Icon","setImageSize","Marker","markerLOption","markerL","Label","setStyle","backgroundColor","border","setLabel","setRotation","canShowLabel","labelClass","split","join","markerLabel","zIndex","setZIndex","setAnimation","BMAP_ANIMATION_BOUNCE","BMAP_ANIMATION_DROP","other","updatePoint","_this4","gc","getGraphic","setOffset","setIcon","getLabel","setContent","getIcon","size","labelOffset","isAnimation","moveTo","animationDelay","autoRotation","urlleft","setPosition","moveAnimation","lsids","color","pellucidity","lineWidth","lineType","isHidden","linePath","lineOption","strokeColor","strokeWeight","strokeOpacity","strokeStyle","line","Polyline","hide","show","updateLine","setPath","setStrokeColor","setStrokeOpacity","setStrokeWeight","setStrokeStyle","pgsids","lineColor","lineOpacity","polygonOption","fillColor","fillOpacity","polygonPath","Polygon","updatePolygon","setFillColor","setFillOpacity","ccsids","circleOption","centerPoint","Circle","updateCircle","setCenter","setRadius","bdNames","ary","arr","boundaries","Math","random","removeBaiduBoundary","removedBDNames","removedBDIds","indexOf","setState","removeGraphic","d","undefined","max","visible","eval","gradient","setDataSet","data","setOptions","sContent","createElement","infowindow","InfoWindow","setWidth","setHeight","onClose","content","render","openInfoWindow","closeInfoWindow","points","p","shape","VotexpointCollection","PointCollection","clickPointCollection","obj","updatePointCollection","ds","setPoints","setStyles","clearPointCollection","ids","ind","clear","clearAllPointCollection","param","top","clientY","left","clientX","getMapExtent","clickLngLat","pixel","gt","mgt","c","setZoomLevel","z","getZoomLevel","setZoom","arg","fitView","getFitView","getViewport","getCurrentCenter","getZoom","allLayers","getGraphicParam","getPath","gp","gg","pts","graphic","removeMarker","splice","doEdit","gtp","endEdit","calculateDistance","pow","PI","clearTimeout","enableDragging","enableEditing","disableDragging","removeEventListener","disableEditing","draw","drawParam","parameter","len","paramgcr","setDrawingMode","open","markerOptions","polylineOptions","enableCalculate","polygonOptions","circleOptions","rectangleOptions","closeDraw","clearAll","clearMarkers","clearOverlays","clusterToolFunction","addMarkers","removeCluster","removeMarkers","clearClusters","allps","vtxRangingTool","cb","objLngLats","lnglats","showTraffic","hideTraffic","scaleOffset","scaleControl","removeControl","navigationControl","control","ScaleControl","anchor","navigation","NavigationControl","mapTypeControl","mapTypes","BMAP_SATELLITE_MAP","MapTypeControl","BMAP_MAPTYPE_CONTROL_HORIZONTAL","sw_ne","bounds","setBounds","clearAreaRestriction","clearBounds","_map","clearInterval","setInterval","waitTime","deleteTime","sort","nowMovePoints","deleteIndex","_nowMovePoints$_i","rx","ry","tx","ty","b","lnglat","delay","urlright","timer","count","equals","ddeg","rotateDeg","gcicon","setImageUrl","isHave","sp","ep","spLngLat","pointToPixel","tan","atan","disy","bias","ms","xmax","xmin","ymax","ymin","lngX","latX","showGraphicById","hideGraphicById","nowBounds","getBounds","southWest","getSouthWest","northEast","getNorthEast","nowCenter","mapSize","getSize","calculatePointsDistance","fp","round","getDistance","ps","totalDistance","calculateArea","deepEqual","is","fromJS","dataMatch","oldData","newData","onlyOldData","subtract","toJS","onlyNewData","onlyOldIDs","onlyNewIDs","updateDataIDs","intersect","updatedData","replacedData","deletedDataIDs","oldID","addedData","dealAdd","ads","otherupds","dealUpdate","upds","otherads","showInfoWindow","params","hideInfoWindow","poi","boxStyle","closeIconMargin","enableAutoPan","align","closeIconUrl","frameSelect","_ref","_ref$parameter","_ref$data","includes","message","clearFrameSelect","clearFrameSelectById","searchPoints","searchValue","_this5","pageSize","pageIndex","psc","LocalSearch","onSearchComplete","result","getPageIndex","gotoPage","res_arr","getCurrentNumPois","getPoi","uid","title","pageCapacity","search","componentDidMount","componentDidUpdate","prevProps","prevState","UNSAFE_componentWillReceiveProps","nextProps","_t$state","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","setCluster","isRangingTool","mapRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isclearAllPointCollection","isSetAreaRestriction","isClearAreaRestriction","isClearAll","_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","refresh","componentWillUnmount","React","Component","_default","exports","module"],"sources":["VtxMap/BMap/Map.js"],"sourcesContent":["import React from 'react';\nimport { render } from 'react-dom';\nimport {graphicManage,getPolygonArea} from '../MapToolFunction';\nimport Immutable from 'immutable';\nimport uniqBy from \"lodash-es/unionBy\";\nconst {Set} = Immutable;\n//公共地址配置\nimport configUrl, { loadScript, ensurejQuery } from '../../default';\nimport { message } from 'antd';\n\n// 百度地图js文件内做了一些额外的http or https判断\n// 如果协议为Https,我们需要改动全局变量BMAP_PROTOCOL和BMap_loadScriptTime\nif (window.location.protocol === 'https:') {\n window.BMAP_PROTOCOL = \"https\";\n window.BMap_loadScriptTime = (new Date).getTime();\n}\n\nconst gisMapConstant = {\n circle: 'BMAP_POINT_SHAPE_CIRCLE',//圆形\n star: 1,//星形\n square: 4,//方形\n rhombus: 5,//菱形\n waterdrop: 2,//水滴状,该类型无size和color属性\n tiny: 1, //定义点的尺寸为超小,宽高为2px*2px\n smaller: 2,//定义点的尺寸为很小,宽高为4px*4px\n small: 3,//定义点的尺寸为小,宽高为8px*8px\n normal: 4,//定义点的尺寸为正常,宽高为10px*10px,为海量点默认尺寸\n big: 5,//定义点的尺寸为大,宽高为16px*16px\n bigger: 6,//定义点的尺寸为很大,宽高为20px*20px\n huge: 7,//定义点的尺寸为超大,宽高为30px*30px\n}\n\nclass BaiduMap extends React.Component{\n constructor(props){\n super(props);\n this.GM = new graphicManage();//初始化 图元管理方法\n this.getPolygonArea = getPolygonArea;\n this.initPointIndex = 0;//初始化地图时记录点当前位置\n this._cluster = null;//点聚合对象\n this._rangingTool = null;//测距对象\n this._bmar = null;//区域限制对象\n this._drawmanager = null;//图元绘制对象\n this.editGraphicChange = null;//编辑方法回调\n this.editTimeout = null;//圆编辑回调延迟时间对象\n this._boundary = null;//获取行政区域数据的对象\n this.moveToTimer = null;//moveTo时间对象\n this.heatmap = null;//热力图对象\n this.morepoints = [];//海量点数组\n this.movePoints = [];//移动点的动画集合\n this.popupWindow = null;\n this.mapCreated = false;\n this.state = {\n gis: null,//地图对象\n mapId: props.mapId,\n pointIds:[], //地图上点的ids\n lineIds:[], //地图上线的ids\n polygonIds:[], //地图上面的ids\n circleIds:[], //地图上圆的ids\n editId: '',//当前编辑的图元id\n editGraphic: '',//当前编辑完后图元所有数据\n boundaryInfo: [],//当前画出的边界线的id和区域名\n drawIds: {//绘制工具id集合\n point: [],\n polyline: [],\n polygon: [],\n circle: [],\n rectangle: []\n }\n };\n this.frameSelectProps = {}\n this.loadMapJs();\n }\n loadPlugin(){\n let loadList = [];\n if(!window.BMapLib || !window.BMapLib.DistanceTool){\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/DistanceTool_min.js`,()=>{\n resolve();\n });\n }))\n }\n if(!window.BMapLib || !window.BMapLib.TrafficControl){\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/TrafficControl_min.js`,()=>{\n resolve();\n });\n }))\n }\n if(!window.BMapLib || !window.BMapLib.MarkerClusterer){\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/MarkerClusterer_min.js`,()=>{\n resolve();\n });\n }))\n }\n if(!window.BMapLib || !window.BMapLib.AreaRestriction){\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/AreaRestriction_min.js`,()=>{\n resolve();\n });\n }))\n }\n if(!window.BMapLib || !window.BMapLib.DrawingManager){\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/DrawingManager_min.js`,()=>{\n resolve();\n });\n }))\n }\n if(!window.BMapLib || !window.BMapLib.HeatmapOverlay){\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/Heatmap_min.js`,()=>{\n resolve();\n });\n }))\n }\n if(!window.BMapLib || !window.BMapLib.GeoUtils){\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/GeoUtils_min.js`,()=>{\n resolve();\n });\n }))\n }\n if(!window.BMapLib || !window.BMapLib.TextIconOverlay){\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/TextIconOverlay_min.js`,()=>{\n resolve();\n });\n }))\n }\n if(!window.BMapLib || !window.BMapLib.InfoBox){\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/InfoBox_min.js`,()=>{\n resolve();\n });\n }))\n loadList.push()\n }\n loadList.push(new Promise((resolve,reject)=>{\n loadScript(`${configUrl.mapServerURL}/TextIconOverlay_min.js`,()=>{\n resolve();\n });\n }))\n return Promise.all(loadList).then(()=>{\n return window.BMap;\n });\n }\n loadMapJs(){\n this.loadMapComplete = new Promise((resolve,reject)=>{\n ensurejQuery().then(() => {\n if(window.BMap){\n resolve(this.loadPlugin());\n }\n else{\n // EVlFc6DZzAzU5avIjoxNcFgQ\n $.getScript(configUrl.bmapScriptUrl, ()=>{\n resolve(this.loadPlugin());\n });\n $(\"<link>\").attr({ rel: \"stylesheet\",type: \"text/css\",href: '//api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.css'}).appendTo(\"head\");\n }\n })\n });\n }\n //初始化地图数据\n init(){\n let t = this;\n //创建地图\n t.createMap();\n const {\n mapPoints,mapLines,mapPolygons,mapCircles,imageOverlays,\n mapVisiblePoints,mapCluster,mapZoomLevel,\n isOpenTrafficInfo,mapPointCollection,areaRestriction,\n coverageType\n } = this.props;\n let {boundaryName,heatMapData,infoWindowData,customizedBoundary} = this.props;\n let {boundaryInfo,pointIds,lineIds,polygonIds,circleIds} = this.state;\n // 切换地图矢量图和卫星图背景\n if(coverageType){\n t.setMapType(coverageType);\n }\n //添加点\n if(mapPoints instanceof Array){\n t.addPoint(mapPoints);\n }\n //添加线\n if(mapLines instanceof Array){\n t.addLine(mapLines);\n }\n //添加面\n if(mapPolygons instanceof Array){\n t.addPolygon(mapPolygons);\n }\n //添加圆\n if(mapCircles instanceof Array){\n t.addCircle(mapCircles);\n }\n //添加图片图层\n if(imageOverlays instanceof Array){\n t.imageUrlOverlay(imageOverlays);\n }\n //画边界线\n if(boundaryName instanceof Array && boundaryName.length>0){\n t.addBaiduBoundary(boundaryName);\n }\n // 画热力图\n if(heatMapData){\n t.heatMapOverlay(heatMapData);\n }\n // 打开信息窗体\n if(infoWindowData){\n t.infoWindow(infoWindowData);\n }\n if(mapPointCollection instanceof Array){\n t.addPointCollection(mapPointCollection);\n }\n //初始展示的视野范围\n if(mapVisiblePoints){\n t.setVisiblePoints(mapVisiblePoints);\n }\n //设置点聚合\n if(mapCluster instanceof Array){\n t.cluster(mapCluster);\n }\n //开关路况\n if(isOpenTrafficInfo){\n t.openTrafficInfo();\n }else{\n t.hideTrafficInfo();\n }\n //设置区域限制\n if(areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\n t.setAreaRestriction(areaRestriction);\n }\n //是否设置比例尺\n if(t.props.showControl){\n t.showControl();\n }\n /*地图事件*/\n //初始化地图点击事件\n t.clickMap();\n //地图拖动之前事件\n t.dragMapStart();\n //地图拖动结束后事件\n t.dragMapEnd();\n //地图移动之前事件\n t.moveStart();\n //地图移动结束后事件\n t.moveEnd();\n //地图缩放开始前事件\n t.zoomStart();\n //地图缩放结束后事件\n t.zoomEnd();\n this.mapCreated = true;\n }\n //创建地图\n createMap () {\n let t = this;\n const {mapCenter,mapStyle,mapId,mapZoomLevel,minZoom,maxZoom} = t.props;\n let options ={\n zoom: mapZoomLevel || 10,\n center: mapCenter || [116.404,39.915],\n minZoom,maxZoom\n };\n if(window.VtxMap){\n window.VtxMap[mapId]= null;\n }else{\n window.VtxMap = {};\n }\n // 控件位置常量\n t.AnchorConstant = {\n tr: BMAP_ANCHOR_TOP_RIGHT,\n tl: BMAP_ANCHOR_TOP_LEFT,\n bl: BMAP_ANCHOR_BOTTOM_LEFT,\n br: BMAP_ANCHOR_BOTTOM_RIGHT\n }\n // 平移缩放控件大小\n t.NavigationConstant = {\n large: BMAP_NAVIGATION_CONTROL_LARGE,\n small: BMAP_NAVIGATION_CONTROL_SMALL,\n pan: BMAP_NAVIGATION_CONTROL_PAN,\n zoom: BMAP_NAVIGATION_CONTROL_ZOOM\n }\n let map = window.VtxMap[mapId] = t.state.gis = new BMap.Map(mapId.toString(),{\n enableMapClick : false,\n minZoom: options.minZoom,\n maxZoom: options.maxZoom\n });\n if(mapStyle){\n if(typeof(mapStyle) === 'string'){\n t.state.gis.setMapStyle({style:mapStyle});\n }\n if(mapStyle instanceof Array){\n t.state.gis.setMapStyle({styleJson:mapStyle});\n }\n }\n setTimeout(()=>{\n $('#myCanvasElement').parent().children('svg').css({'z-index':1});\n },500);\n // 初始化地图,设置中心点坐标和地图级别\n map.centerAndZoom(new BMap.Point(parseFloat(options.center[0]),parseFloat(options.center[1])), options.zoom);\n //添加地图类型控件\n if(t.props.satelliteSwitch){\n t.showMapTypeControl();\n }\n //初始化路况控件\n if(!t._trafficCtrl){\n t._trafficCtrl = new BMapLib.TrafficControl({\n // 是否显示路况提示面板\n showPanel : false\n });\n map.addControl(t._trafficCtrl);\n if(document.getElementById('tcBtn').remove){\n document.getElementById('tcBtn').remove();\n }else{\n document.getElementById('tcBtn').removeNode();\n }\n }\n //开启鼠标滚轮缩放\n map.enableScrollWheelZoom(true);\n //初始化获取行政区域数据的对象\n if(!t._boundary){\n t._boundary = new BMap.Boundary();\n }\n //初始化点聚合对象\n if(!t._cluster){\n t._cluster = new BMapLib.MarkerClusterer(map,{maxZoom: 17}); \n }\n //初始化测距对象\n if(!t._rangingTool){\n t._rangingTool = new BMapLib.DistanceTool(map);\n }\n //初始化区域限制对象\n if(!t._bmar){\n t._bmar = new BMapLib.AreaRestriction();\n }\n //初始化图元绘制对象\n if(!t._drawmanager){\n t._drawmanager = new BMapLib.DrawingManager(map);\n //监听绘制结束事件\n t._drawmanager.addEventListener('overlaycomplete', (e)=>{\n if(e.label){\n t.state.gis.removeOverlay(e.label);\n }\n let drawExtData = e.extData;\n //保存绘制图元的id便于后期比对\n t.state.drawIds[drawExtData.type].push(drawExtData.id);\n let backobj = {\n id: drawExtData.id,\n attributes: drawExtData.attributes,\n geometryType: drawExtData.type == 'rectangle'?'polygon':drawExtData.type,\n mapLayer: e.overlay,\n geometry: {\n type: drawExtData.type == 'rectangle'?'polygon':drawExtData.type\n }\n };\n //点击事件\n e.overlay.addEventListener('click',(e)=>{\n t.clickGraphic(drawExtData.id,e);\n });\n //鼠标移入事件\n e.overlay.addEventListener('mouseover',(e)=>{\n t.mouseOverGraphic(drawExtData.id,e);\n });\n //鼠标移出事件\n e.overlay.addEventListener('mouseout',(e)=>{\n t.mouseOutGraphic(drawExtData.id,e);\n });\n //缓存绘制的图元信息\n t.GM.setGraphic(drawExtData.id,e.overlay);\n\n //区别点和圆的经纬度数据处理\n let {lnglatAry,_extent,path} = t.dealData(e.overlay);\n //处理返回数据\n switch(drawExtData.type){\n case 'point':\n backobj.geometry.x = e.overlay.getPosition().lng;\n backobj.geometry.y = e.overlay.getPosition().lat;\n break;\n case 'polyline':\n backobj.distance = e.calculate;\n backobj.lnglatAry = lnglatAry;\n backobj.geometry.paths = path;\n backobj.geometry._extent = _extent;\n break;\n case 'polygon':\n backobj.area = e.calculate;\n backobj.lnglatAry = lnglatAry;\n backobj.geometry.rings = path;\n backobj.geometry._extent = _extent;\n break;\n case 'rectangle':\n backobj.area = e.calculate;\n backobj.lnglatAry = lnglatAry;\n backobj.geometry.rings = path;\n backobj.geometry._extent = _extent;\n break;\n case 'circle':\n backobj.geometry.x = e.overlay.getCenter().lng;\n backobj.geometry.y = e.overlay.getCenter().lat;\n backobj.geometry.radius = e.overlay.getRadius();\n backobj.area = e.calculate;\n break;\n }\n t.GM.setGraphicParam(drawExtData.id,backobj);\n t._drawmanager.close();\n if('drawEnd' in t.props){\n t.props.drawEnd(backobj);\n }\n if(t.frameSelectProps[backobj.id]?.callback instanceof Function){\n t.frameSelectProps[backobj.id].callback(backobj);\n }\n });\n }\n t.initPropsForUser();\n }\n /* \n 切换地图矢量图和卫星图背景\n type: \n BMAP_NORMAL_MAP 矢量图\n BMAP_SATELLITE_MAP 单卫星图 (暂定不用)\n BMAP_HYBRID_MAP 卫星路况图\n */\n setMapType(type){\n switch (type) {\n case 'sl':\n this.state.gis.setMapType(BMAP_NORMAL_MAP);\n break;\n case 'wx':\n this.state.gis.setMapType(BMAP_HYBRID_MAP);\n break;\n }\n }\n //增加图片图层\n imageUrlOverlay(imageAry){\n let t = this;\n imageAry.map((item,index)=>{\n let {sw,ne,url,opacity} = item;\n if(!url){\n console.warn(`图片图层url数据错误`);\n return false;\n }\n if(sw && ne && Array.isArray(sw) && Array.isArray(ne) && sw[0] && sw[1] && ne[0] && ne[1]){\n let swp = new BMap.Point(sw[0],sw[1]),\n nep = new BMap.Point(ne[0],ne[1]),\n option = {\n opacity: opacity || 1,\n displayOnMinLevel: item.displayOnMinLevel || 3,\n displayOnMaxLevel: item.displayOnMaxLevel || 19,\n imageURL: url\n },\n swnep = new BMap.Bounds(swp, nep),\n imageUrlOverlay = new BMap.GroundOverlay(swnep, option);\n t.state.gis.addOverlay(imageUrlOverlay);\n\n }else{\n console.warn(`区域经纬度sw/ne数据错误`);\n return false;\n }\n })\n }\n //新增点位\n addPoint(mapPoints,type){\n let t = this;\n let psids = [...t.state.pointIds];\n mapPoints.map((item,index)=>{\n //如果id重复,直接跳过不执行.\n if (this.GM.isRepetition(item.id)) {\n console.warn(`加点id: ${item.id} 重复`);\n return false;\n }\n //点位数据不符合,直接跳过\n if(!item.longitude || !item.latitude){\n console.warn(`点 经纬度 数据错误`);\n return false;\n }\n let cg = {\n width : 30,\n height : 30,\n labelContent: '',\n labelPixelX: 0,\n labelPixelY: 34,\n BAnimationType: 3,\n //高德以左上定位,百度以中心为定位\n //默认点的偏移值就不同\n markerContentX: -15,\n markerContentY: -30,\n deg: 0\n }\n if(item.markerContent){\n cg = {...cg,markerContentX: 0,markerContentY: 0,width:100,height:30};\n }\n //初始化默认数据\n if(item.config){\n cg = {...cg,...item.config};\n }\n let position = new BMap.Point(item.longitude,item.latitude);\n let marker = null;\n if(item.markerContent){\n /*自定义html加点\n 用Label来实现,无法再添加label(高德有判断,实现不同)*/\n //覆盖物参数\n let markerOption = {\n offset: new BMap.Size(cg.markerContentX + cg.width/2,\n cg.markerContentY + cg.height/2),\n icon: null\n }\n let icon = new BMap.Icon(\n `${configUrl.mapServerURL}/images/touming.png`,\n new BMap.Size(cg.width,cg.height)\n );\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\n markerOption = {...markerOption,icon};\n marker = new BMap.Marker(position,markerOption);\n\n //覆盖物参数\n let markerLOption = {\n offset: new BMap.Size(0,0)\n };\n let markerL = new BMap.Label(item.markerContent,markerLOption);\n markerL.setStyle({\n backgroundColor : '',\n border : '0'\n });\n marker.setLabel(markerL);\n }else{\n /*添加非html点位*/\n //覆盖物参数\n let markerOption = {\n offset: new BMap.Size(cg.markerContentX + cg.width/2,\n cg.markerContentY + cg.height/2),\n icon: null\n }\n let icon = new BMap.Icon(\n item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\n new BMap.Size(cg.width,cg.height)\n );\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\n markerOption = {...markerOption,icon};\n marker = new BMap.Marker(position,markerOption);\n //设置选择角度\n marker.setRotation(cg.deg);\n //添加label\n if(item.canShowLabel && cg.labelContent){\n //label默认样式\n let labelClass = 'label-content';\n //接受label自定义样式\n if(item.labelClass){\n labelClass = item.labelClass.split(',').join(' ');\n }\n let markerLabel = new BMap.Label(\n \"<div class='\"+labelClass+\"' style=\\\"margin-left: 0;\\\">\"\n + cg.labelContent + \"</div>\", {\n offset : new BMap.Size(cg.labelPixelX,cg.labelPixelY)\n });\n markerLabel.setStyle({\n border : '0',\n backgroundColor : ''\n });\n marker.setLabel(markerLabel);\n }\n }\n if(cg.zIndex || cg.zIndex === 0){\n marker.setZIndex(cg.zIndex);\n }\n //添加点到地图\n t.state.gis.addOverlay(marker);\n if(!item.markerContent && cg.BAnimationType == 0){\n marker.setAnimation(BMAP_ANIMATION_BOUNCE);\n }else if(!item.markerContent && cg.BAnimationType == 1){\n marker.setAnimation(BMAP_ANIMATION_DROP);\n }\n //点击事件\n marker.addEventListener('click',(e)=>{\n t.clickGraphic(item.id,e);\n });\n //鼠标移入事件\n marker.addEventListener('mouseover',(e)=>{\n t.mouseOverGraphic(item.id,e);\n });\n //鼠标移出事件\n marker.addEventListener('mouseout',(e)=>{\n t.mouseOutGraphic(item.id,e);\n });\n //缓存所有点的id\n psids.push(item.id);\n //缓存当前点的图元对象和基本数据\n t.GM.setGraphic(item.id,marker)\n .setGraphicParam(item.id,{\n attributes: {...item,other: item},\n geometryType: 'point',\n geometry: {\n type: 'point',\n x: item.longitude,\n y: item.latitude\n }\n });\n });\n if(type !== 'defined'){\n //所有点缓存在state中\n // t.setState({\n // pointIds: psids\n // });\n t.state.pointIds = psids;\n }\n }\n //更新点位\n updatePoint(mapPoints){\n let t = this;\n // let dpoints = [],apoints = [];\n mapPoints.map((item,index)=>{\n //判断图元是否存在.\n if (this.GM.isRepetition(item.id)) {\n //点位数据不符合,直接跳过\n if(!item.longitude || !item.latitude){\n console.warn(`点 经纬度 数据错误`);\n return false;\n }\n //获取原有的图元\n let gc = t.GM.getGraphic(item.id);\n let cg = {\n width : 30,\n height : 30,\n labelContent: '',\n labelPixelX: 0,\n labelPixelY: 34,\n BAnimationType: 3,\n //高德以左上定位,百度以中心为定位\n //默认点的偏移值就不同\n markerContentX: -15,\n markerContentY: -30,\n deg: 0\n }\n if(item.markerContent){\n cg = {...cg,markerContentX: 0,markerContentY: 0,width:100,height:30};\n }\n if(item.config){\n cg = {...cg,...item.config};\n }\n if(item.markerContent){\n gc.setOffset(new BMap.Size(cg.markerContentX + cg.width/2,\n cg.markerContentY + cg.height/2));\n let icon = new BMap.Icon(\n `${configUrl.mapServerURL}/images/touming.png`,\n new BMap.Size(cg.width,cg.height)\n );\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\n gc.setIcon(icon);\n if(!!gc.getLabel()){\n gc.getLabel().setContent(item.markerContent);\n gc.getLabel().setOffset(new BMap.Size(0,0));\n }else{\n //覆盖物参数\n let markerLOption = {\n offset: new BMap.Size(0,0)\n };\n let markerL = new BMap.Label(item.markerContent,markerLOption);\n markerL.setStyle({\n backgroundColor : '',\n border : '0'\n });\n gc.setLabel(markerL);\n }\n }else{\n cg.width = cg.width || gc.getIcon().size.width;\n cg.height = cg.height || gc.getIcon().size.height;\n //未改变方式的点 直接修改数据\n let icon = new BMap.Icon(\n item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\n new BMap.Size(cg.width,cg.height)\n );\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\n gc.setIcon(icon);\n gc.setOffset(new BMap.Size((cg.markerContentX || -15) + cg.width/2,\n (cg.markerContentY || -30) + cg.height/2));\n //修改角度\n gc.setRotation(cg.deg || 0);\n //添加label\n if(item.canShowLabel && cg.labelContent){\n let markerLabel = gc.getLabel(),\n //label默认样式\n labelClass = 'label-content';\n //接受label自定义样式\n if(item.labelClass){\n labelClass = item.labelClass.split(',').join(' ');\n }\n let labelContent = \"<div class='\"+labelClass+\"' style=\\\"margin-left: 0;\\\">\"\n + cg.labelContent + \"</div>\",\n labelOffset = new BMap.Size(cg.labelPixelX,cg.labelPixelY);\n if(markerLabel){\n markerLabel.setContent(labelContent);\n markerLabel.setOffset(labelOffset);\n }else{\n markerLabel = new BMap.Label(\n labelContent, {\n offset : labelOffset\n });\n markerLabel.setStyle({\n border : '0',\n backgroundColor : ''\n });\n gc.setLabel(markerLabel);\n }\n }else{\n if(!!gc.getLabel()){\n gc.getLabel().setContent('');\n }\n }\n if(cg.BAnimationType == 0){\n gc.setAnimation(BMAP_ANIMATION_BOUNCE);\n }else if(cg.BAnimationType == 1){\n gc.setAnimation(BMAP_ANIMATION_DROP);\n }else{\n gc.setAnimation(null);\n }\n /*moveTo*/\n }\n //动画效果会延迟执行经纬度的切换\n if(cg.isAnimation){\n t.moveTo(item.id,[item.longitude,item.latitude],cg.animationDelay,cg.autoRotation,item.url,item.urlleft);\n }else{\n //修改经纬度\n gc.setPosition(new BMap.Point(item.longitude,item.latitude));\n }\n if(cg.zIndex || cg.zIndex === 0){\n gc.setZIndex(cg.zIndex);\n }\n t.GM.setGraphicParam(\n item.id,\n {\n attributes: {...item,other: item},\n geometryType: 'point',\n geometry: {\n type: 'point',\n x: item.longitude,\n y: item.latitude\n }\n }\n );\n }else{\n console.warn(`更新的点位id不存在!`);\n return false;\n }\n });\n t.moveAnimation();\n // //删除改变了加载方式的点\n // dpoints.map((item,index)=>{\n // t.removeGraphic(item,'point');\n // });\n // if(apoints.length > 0){\n // //重新加载改变了方式的点\n // setTimeout(()=>{\n // t.addPoint(apoints);\n // },100);\n // }\n }\n //添加线\n addLine(mapLines,type){\n let t = this;\n let lsids = [...t.state.lineIds];\n //遍历添加线(图元)\n mapLines.map((item,index)=>{\n //如果id重复,直接跳过不执行.\n if (t.GM.isRepetition(item.id)) {\n console.warn(`多折线id: ${item.id} 重复`);\n return false;\n }\n //多折线点位数据不符合,直接跳过\n if(!(item.paths && item.paths.length >= 2)){\n console.warn(`多折线paths数据错误`);\n return false;\n }\n //初始化默认参数\n let cg = {\n color: '#277ffa',\n pellucidity: 0.9,\n lineWidth: 5,\n lineType: 'solid',\n isHidden: false\n }\n //合并参数\n if(item.config){\n cg = {...cg,...item.config};\n }\n //处理线的点数组\n let linePath = item.paths.map((item,index)=>{\n return new BMap.Point(item[0],item[1]);\n }),\n //处理线的参数\n lineOption = {\n strokeColor : cg.color, // 线颜色\n strokeWeight : cg.lineWidth, // 线宽\n strokeOpacity : cg.pellucidity, // 线透明度\n strokeStyle : cg.lineType// 线样式\n };\n //创建线对象\n let line = new BMap.Polyline(linePath,lineOption);\n //判断线显示和隐藏\n if(cg.isHidden){\n line.hide();\n }else{\n line.show();\n }\n lsids.push(item.id);\n //添加线至地图\n t.state.gis.addOverlay(line);\n //点击事件\n line.addEventListener('click',(e)=>{\n t.clickGraphic(item.id,e);\n });\n //鼠标移入事件\n line.addEventListener('mouseover',(e)=>{\n t.mouseOverGraphic(item.id,e);\n });\n //鼠标移出事件\n line.addEventListener('mouseout',(e)=>{\n t.mouseOutGraphic(item.id,e);\n });\n t.GM.setGraphic(item.id,line)\n .setGraphicParam(item.id,{\n attributes: {\n ...item,\n paths: item.paths,\n other: item\n },\n geometryType: 'polyline',\n geometry: {\n type: 'polyline',\n paths: item.paths\n }\n });\n });\n if(type !== 'defined'){\n t.state.lineIds = lsids;\n // t.setState({\n // lineIds: lsids\n // });\n }\n }\n //更新线\n updateLine(mapLines){\n let t = this;\n //遍历添加线(图元)\n mapLines.map((item,index)=>{\n //判断图元是否存在.\n if (t.GM.isRepetition(item.id)) {\n //多折线点位数据不符合,直接跳过\n if(!(item.paths && item.paths.length >= 2)){\n console.warn(`多折线paths数据错误`);\n return false;\n }\n }else{\n console.warn(`更新的多折线id不存在!`);\n return false;\n }\n let gc = t.GM.getGraphic(item.id);\n //初始化默认参数\n let cg = {\n color: '#277ffa',\n pellucidity: 0.9,\n lineWidth: 5,\n lineType: 'solid',//'solid' 'dashed'\n isHidden: false\n }\n //合并参数\n if(item.config){\n cg = {...cg,...item.config};\n }\n //处理线的点数组\n let linePath = item.paths.map((item,index)=>{\n return new BMap.Point(item[0],item[1]);\n });\n //修改线点位数据\n gc.setPath(linePath);\n //修改线颜色\n gc.setStrokeColor(cg.color);\n //修改透明度\n gc.setStrokeOpacity(cg.pellucidity);\n //修改线宽度\n gc.setStrokeWeight(cg.lineWidth);\n //修改线的类型\n gc.setStrokeStyle(cg.lineType);\n //判断线显示和隐藏\n if(cg.isHidden){\n gc.hide();\n }else{\n gc.show();\n }\n t.GM.setGraphicParam(item.id,{\n attributes: {\n ...item,\n paths: item.paths,\n other: item\n },\n geometryType: 'polyline',\n geometry: {\n type: 'polyline',\n paths: item.paths\n }\n });\n });\n }\n //添加面\n addPolygon(mapPolygons){\n let t = this;\n let pgsids = [...t.state.polygonIds];\n //遍历添加面(图元)\n mapPolygons.map((item,index)=>{\n //如果id重复,直接跳过不执行.\n if (t.GM.isRepetition(item.id)) {\n console.warn(`多边形id: ${item.id} 重复`);\n return false;\n }\n //多边形点位数据不符合,直接跳过\n if(!(item.rings && item.rings.length >= 3)){\n console.warn(`多边形rings数据错误`);\n return false;\n }\n //初始化参数\n let cg = {\n lineType: 'solid',\n lineWidth: 5,\n lineColor: '#277ffa',\n lineOpacity: 1,\n color: '#fff',\n pellucidity: 0.5\n // isHidden: false //后期需要再加\n }\n if(item.config){\n cg = {...cg,...item.config};\n }\n //面的参数\n let polygonOption = {\n strokeColor: cg.lineColor,\n strokeOpacity: cg.lineOpacity,\n strokeWeight: cg.lineWidth,\n strokeStyle: cg.lineType,\n fillColor: cg.color,\n fillOpacity: cg.pellucidity\n },\n polygonPath = item.rings.map((item,index)=>{\n return new BMap.Point(item[0],item[1]);\n });\n //创建面对象\n let polygon = new BMap.Polygon(polygonPath,polygonOption);\n //添加面至地图\n t.state.gis.addOverlay(polygon);\n //点击事件\n polygon.addEventListener('click',(e)=>{\n t.clickGraphic(item.id,e);\n });\n //鼠标移入事件\n polygon.addEventListener('mouseover',(e)=>{\n t.mouseOverGraphic(item.id,e);\n });\n //鼠标移出事件\n polygon.addEventListener('mouseout',(e)=>{\n t.mouseOutGraphic(item.id,e);\n });\n //缓存面id\n pgsids.push(item.id);\n //缓存面图元对象和对于传入数据\n t.GM.setGraphic(item.id,polygon)\n .setGraphicParam(item.id,{\n attributes: {\n ...item,\n rings: item.rings,\n other: item\n },\n geometryType: 'polygon',\n geometry: {\n type: 'polygon',\n rings: item.rings\n },\n });\n });\n t.state.polygonIds = pgsids;\n // t.setState({\n // polygonIds: pgsids\n // });\n }\n //更新面\n updatePolygon(mapPolygons){\n let t = this;\n mapPolygons.map((item,index)=>{\n //判断图元是否存在.\n if (t.GM.isRepetition(item.id)) {\n //多边形点位数据不符合,直接跳过\n if(!(item.rings && item.rings.length >= 3)){\n console.warn(`多边形rings数据错误`);\n return false;\n }\n //获取原有的图元\n let gc = t.GM.getGraphic(item.id);\n //初始化参数\n let cg = {\n lineType: 'solid',\n lineWidth: 5,\n lineColor: '#277ffa',\n lineOpacity: 1,\n color: '#fff',\n pellucidity: 0.5\n // isHidden: false //后期需要再加\n }\n if(item.config){\n cg = {...cg,...item.config};\n }\n let polygonPath = item.rings.map((item,index)=>{\n return new BMap.Point(item[0],item[1]);\n });\n //更新经纬度\n gc.setPath(polygonPath);\n //更新边框线颜色\n gc.setStrokeColor(cg.lineColor);\n //更新填充色\n gc.setFillColor(cg.color);\n //更新变线透明度\n gc.setStrokeOpacity(cg.lineOpacity);\n //更新填充色透明度\n gc.setFillOpacity(cg.pellucidity);\n //更新边线宽度\n gc.setStrokeWeight(cg.lineWidth);\n //更新边线类型\n gc.setStrokeStyle(cg.lineType);\n t.GM.setGraphicParam(\n item.id,\n {\n attributes: {\n ...item,\n rings: item.rings,\n other: item\n },\n geometryType: 'polygon',\n geometry: {\n type: 'polygon',\n rings: item.rings\n }\n }\n );\n }else{\n console.warn(`更新的多边形id不存在!`);\n return false;\n }\n });\n }\n //添加圆 circle\n addCircle(mapCircles){\n let t = this;\n let ccsids = [...t.state.circleIds];\n mapCircles.map((item,index)=>{\n //如果id重复,直接跳过不执行.\n if (t.GM.isRepetition(item.id)) {\n console.warn(`圆id: ${item.id} 重复`);\n return false;\n }\n //圆 点位数据不符合,直接跳过\n if(!item.longitude || !item.latitude){\n console.warn(`圆 经纬度 数据错误`);\n return false;\n }\n let cg = {\n lineType: 'solid',\n lineWidth: 5,\n lineColor: '#277ffa',\n lineOpacity: 1,\n color: '#fff',\n pellucidity: 0.5\n // isHidden: false //后期需要在加\n }\n if(item.config){\n cg = {...cg,...item.config};\n }\n //初始化配置数据\n let circleOption = {\n strokeColor: cg.lineColor,\n strokeOpacity: cg.lineOpacity,\n strokeWeight: cg.lineWidth,\n strokeStyle: cg.lineType,\n fillColor: cg.color,\n fillOpacity: cg.pellucidity\n },\n centerPoint = new BMap.Point(item.longitude,item.latitude);\n //创建圆图元实例\n let circle = new BMap.Circle(centerPoint,item.radius,circleOption);\n //添加圆至地图\n t.state.gis.addOverlay(circle);\n //点击事件\n circle.addEventListener('click',(e)=>{\n t.clickGraphic(item.id,e);\n });\n //鼠标移入事件\n circle.addEventListener('mouseover',(e)=>{\n t.mouseOverGraphic(item.id,e);\n });\n //鼠标移出事件\n circle.addEventListener('mouseout',(e)=>{\n t.mouseOutGraphic(item.id,e);\n });\n ccsids.push(item.id);\n //缓存数据\n t.GM.setGraphic(item.id,circle)\n .setGraphicParam(item.id,{\n attributes: {...item,other: item},\n geometryType: 'circle',\n geometry: {\n type: 'circle',\n x: item.longitude,\n y: item.latitude,\n radius: item.radius\n }\n });\n });\n t.state.circleIds = ccsids;\n // t.setState({\n // circleIds: ccsids\n // });\n }\n //更新圆\n updateCircle(mapCircles){\n let t = this;\n mapCircles.map((item,index)=>{\n //判断图元是否存在.\n if (t.GM.isRepetition(item.id)) {\n //圆 点位数据不符合,直接跳过\n if(!item.longitude || !item.latitude){\n console.warn(`圆 经纬度 数据错误`);\n return false;\n }\n //获取原有的图元\n let gc = t.GM.getGraphic(item.id);\n //获取原有的面属性,转换key值\n let cg = {\n lineType: 'solid',\n lineWidth: 5,\n lineColor: '#277ffa',\n lineOpacity: 1,\n color: '#fff',\n pellucidity: 0.5\n // isHidden: false //后期需要在加\n }\n if(item.config){\n cg = {...cg,...item.config};\n }\n let centerPoint = new BMap.Point(item.longitude,item.latitude);\n //修改中心点\n gc.setCenter(centerPoint);\n //修改半径\n gc.setRadius(item.radius);\n //修改边线颜色\n gc.setStrokeColor(cg.lineColor);\n //修改填充颜色\n gc.setFillColor(cg.color);\n //修改边线透明度\n gc.setStrokeOpacity(cg.lineOpacity);\n //修改填充透明度\n gc.setFillOpacity(cg.pellucidity);\n //修改边线宽度\n gc.setStrokeWeight(cg.lineWidth);\n //修改边线样式\n gc.setStrokeStyle(cg.lineType);\n //缓存图元的数据,便于后期操作\n t.GM.setGraphicParam(item.id,{\n attributes: {...item,other: item},\n geometryType: 'circle',\n geometry: {\n type: 'circle',\n x: item.longitude,\n y: item.latitude,\n radius: item.radius\n }\n });\n }else{\n console.warn(`更新的圆id不存在!`);\n return false;\n }\n });\n }\n //画出对应边界线 name区域名\n addBaiduBoundary(bdNames){\n let t = this;\n bdNames.forEach(name=>{\n t._boundary.get(name,(ary)=>{\n // fix 飞地有多个区域的问题\n let arr = [];\n ary.boundaries.forEach((item) => {\n let id = 'boundary' + new Date().getTime() + Math.random();\n let paths = item.split(';').map(function (item, index) {\n return item.split(',');\n });\n arr.push({ id: id, rings: paths , name: name})\n t.state.boundaryInfo.push({ id: id, name: name });\n })\n t.addPolygon(arr);\n });\n })\n }\n //删除对应应边界线 name区域名\n removeBaiduBoundary(removedBDNames){\n let t = this;\n let removedBDIds = t.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)>-1).map(item=>item.id);\n t.setState({boundaryInfo:t.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)==-1)});\n removedBDIds.forEach(id=>{\n t.removeGraphic(id,'polygon');\n });\n }\n //热力图\n heatMapOverlay(d = {}){\n let t = this;\n let cg = {\n radius: 20,\n max: 100,\n visible: true,\n opacity: 0.7\n };\n if(d.config){\n cg = {...cg,...d.config};\n }\n if(!t.heatmap){\n t.heatmap = new BMapLib.HeatmapOverlay({\n visible: cg.visible\n });\n t.state.gis.addOverlay(t.heatmap);\n }\n let option = {\n radius: cg.radius,\n //百度是1-100,高德是0-1\n opacity: eval(cg.opacity) * 100,\n visible: cg.visible\n }\n if(cg.gradient){\n option.gradient = cg.gradient;\n }\n t.heatmap.setDataSet({\n max: cg.max,\n data: d.data || []\n });\n t.heatmap.setOptions(option);\n if(cg.visible){\n t.heatmap.show();\n }else{\n t.heatmap.hide();\n }\n }\n //信息窗体\n infoWindow (d = {}){\n let t = this;\n var cg = {\n width: 300,\n height: 172,\n };\n if (d.config) {\n cg = {...cg,...d.config};\n }\n var sContent = document.createElement('div');\n var infowindow = new BMap.InfoWindow(sContent);\n \n infowindow.setWidth(cg.width);\n infowindow.setHeight(cg.height);\n\n if(d.onClose instanceof Function){\n infowindow.addEventListener(\"clickclose\", e => {\n d.onClose(e);\n })\n }\n\n if(d.lat && d.lng && d.content){\n render(d.content, sContent);\n t.state.gis.openInfoWindow(infowindow, new BMap.Point(d.lng,d.lat));\n\n } else {\n infowindow && t.state.gis.closeInfoWindow();\n }\n }\n //添加海量点 \n addPointCollection(data = []) {\n let t = this;\n data.map((item,index)=>{\n let d = item || {};\n let points = [];\n (d.points || []).map(function(d,i){\n let p = new BMap.Point(d.lng,d.lat);\n p.attributes = d;\n points.push(p);\n })\n let options = {\n size: gisMapConstant[d.size] || gisMapConstant['normal'],\n shape: gisMapConstant[d.shape] || gisMapConstant['circle'],\n color: d.color || '#d340c3'\n }\n // 初始化PointCollection\n let VotexpointCollection = new BMap.PointCollection(points, options); \n t.state.gis.addOverlay(VotexpointCollection); // 添加Overlay\n t.morepoints.push({\n id: d.id,\n value: VotexpointCollection\n });\n VotexpointCollection.addEventListener('click', function (e) {\n if('clickPointCollection' in t.props && typeof(t.props.clickPointCollection) == 'function'){\n let obj = {\n id: d.id,\n ...e.point,\n mapLayer: VotexpointCollection\n }\n t.props.clickPointCollection(obj);\n }\n });\n });\n }\n //更新海量点\n updatePointCollection(data = []) {\n let t = this;\n data.map((ds,i)=>{\n t.morepoints.map(function (item,index) {\n if(item.id == ds.id){\n let points = [];\n ds.points.map(function(d,i){\n let p = new BMap.Point(d.lng,d.lat);\n p.attributes = d;\n points.push(p);\n })\n item.value.setPoints(points);\n item.value.setStyles({\n size: gisMapConstant[ds.size] || gisMapConstant['normal'],\n shape: gisMapConstant[ds.shape] || gisMapConstant['circle'],\n color: ds.color || '#d340c3'\n })\n }\n });\n });\n }\n //清空单个海量点\n clearPointCollection(ids){\n let t = this;\n ids.map((id,ind)=>{\n t.morepoints.map(function (item,index) {\n if(id == item.id){\n item.value.clear();\n }\n });\n });\n }\n //清空海量点\n clearAllPointCollection() {\n let t = this;\n t.morepoints.map(function (item,index) {\n item.value.clear();\n })\n }\n /*图元事件处理*/\n //点击图元事件\n clickGraphic (id,e) {\n let t = this;\n //编辑中的图元关闭其他事件返回\n if(t.state.editId == id)return false;\n if(typeof(t.props.clickGraphic) ===\"function\"){\n let param = t.getGraphic(id);\n let obj = {\n param,\n type: param.geometry.type,//图元类型\n attributes: {...param.attributes.other,...{config:param.attributes.config}},//添加时图元信息\n top: e.clientY,//当前点所在的位置(屏幕)\n left: e.clientX,\n e: e\n }\n t.props.clickGraphic(obj);\n }\n }\n //图元鼠标悬浮事件\n mouseOverGraphic(id,e){\n let t = this;\n //编辑中的图元关闭其他事件返回\n if(t.state.editId == id)return false;\n if(typeof(t.props.mouseOverGraphic) === 'function'){\n let obj = {\n e,id,\n param: t.getGraphic(id),\n top: e.clientY,//当前点所在的位置(屏幕)\n left: e.clientX,\n }\n t.props.mouseOverGraphic(obj);\n }\n }\n //图元鼠标移开事件\n mouseOutGraphic(id,e){\n let t = this;\n //编辑中的图元关闭其他事件返回\n if(t.state.editId == id)return false;\n if(typeof(t.props.mouseOutGraphic) ===\"function\"){\n let obj = {\n e,id,\n param: t.getGraphic(id),\n top: e.clientY,//当前点所在的位置(屏幕)\n left: e.clientX,\n }\n t.props.mouseOutGraphic(obj);\n }\n }\n /*地图事件处理*/\n //地图点击事件\n clickMap(){\n let t =this;\n if(typeof(t.props.clickMap) ===\"function\"){\n t.state.gis.addEventListener('click',(e)=>{\n let obj = t.getMapExtent();\n obj.e = e;\n obj.clickLngLat = e.point;\n obj.pixel = e.pixel;\n t.props.clickMap(obj);\n });\n }\n }\n //地图拖动之前事件\n dragMapStart(){\n let t = this;\n if(typeof(t.props.dragMapStart) === 'function'){\n t.state.gis.addEventListener('dragstart',(e)=>{\n let obj = t.getMapExtent();\n obj.e = e;\n t.props.dragMapStart(obj);\n })\n }\n }\n //地图拖动结束后事件\n dragMapEnd(){\n let t = this;\n if(typeof(t.props.dragMapEnd) === 'function'){\n t.state.gis.addEventListener('dragend',(e)=>{\n let obj = t.getMapExtent();\n obj.e = e;\n t.props.dragMapEnd(obj);\n })\n }\n }\n //地图移动之前事件\n moveStart(){\n let t = this;\n if(typeof(t.props.moveStart) === 'function'){\n t.state.gis.addEventListener('movestart',(e)=>{\n let obj = t.getMapExtent();\n obj.e = e;\n t.props.moveStart(obj);\n })\n }\n }\n //地图移动结束后事件\n moveEnd(){\n let t = this;\n if(typeof(t.props.moveEnd) === 'function'){\n t.state.gis.addEventListener('moveend',(e)=>{\n let obj = t.getMapExtent();\n obj.e = e;\n t.props.moveEnd(obj);\n })\n }\n }\n //地图更改缩放级别开始时触发触发此事件\n zoomStart(){\n let t = this;\n if(typeof(t.props.zoomStart) === 'function'){\n t.state.gis.addEventListener('zoomstart',(e)=>{\n let obj = t.getMapExtent();\n obj.e = e;\n t.props.zoomStart(obj);\n });\n }\n }\n //地图更改缩放级别结束时触发触发此事件\n zoomEnd(){\n let t = this;\n if(typeof(t.props.zoomEnd) === 'function'){\n t.state.gis.addEventListener('zoomend',(e)=>{\n let obj = t.getMapExtent();\n obj.e = e;\n t.props.zoomEnd(obj);\n });\n }\n }\n /*set方法*/\n //设置地图中心位置 lng/经度 lat/纬度\n setCenter (gt) {\n let t =this;\n if(!t.state.gis){\n return;\n }\n let mgt = [116.404,39.915];\n if(gt){\n //经纬度 必须存在 否则不操作\n if (!gt[0] || !gt[1]) {\n return false;\n }\n //如果设置的经纬度 与当前中心点一样 不操作\n let c = t.state.gis.getCenter();\n if(c.lng == gt[0] && c.lat == gt[1]){\n return false;\n }\n mgt = gt;\n }\n t.state.gis.setCenter(new BMap.Point(mgt[0],mgt[1]));\n t.setState({center: mgt});\n }\n //设置地图比例尺\n setZoomLevel (zoom) {\n let t =this;\n let z = t.getZoomLevel();\n if(z == zoom){\n return false;\n }\n t.state.gis.setZoom(zoom);\n }\n //将制定图元展示在视野内 (强制改变地图中心位置)\n /*\n 参数arg格式如下1,2\n 1.string 格式如:'1,a,2,3,4'\n 2.数组 ['1','2']\n */\n setVisiblePoints (mapVisiblePoints) {\n let t = this;\n let arg = null;\n let type = mapVisiblePoints.type;\n let ary = [];\n let obj = null;\n\n switch(mapVisiblePoints.fitView){\n case 'point':\n arg = this.state.pointIds;\n break;\n case 'line':\n arg = this.state.lineIds;\n break;\n case 'polygon':\n arg = this.state.polygonIds;\n break;\n case 'circle':\n arg = this.state.circleIds;\n break;\n case 'all':\n arg = this.state.pointIds.concat(this.state.lineIds).concat(this.state.polygonIds).concat(this.state.circleIds);\n break;\n default:\n arg = mapVisiblePoints.fitView;\n break;\n }\n\n /**\n * 用法\n * map.setVisiblePoints('lng,lat;lng,lat')\n */\n if(typeof(arg) === 'string'){\n ary = arg.split(',');\n obj = t.getFitView(ary);\n \n } else if(arg instanceof Array){\n /**\n * 用法\n * map.setVisiblePoints([[lng,lat],[lng,lat]])\n */\n if(arg[0] instanceof Array){\n let a = [];\n for(let i = 0 ; i < arg.length ; i++){\n a.push(new BMap.Point(arg[i][0],arg[i][1]));\n }\n obj = t.state.gis.getViewport(a);\n /**\n * 用法\n * map.setVisiblePoints(['lng,lat','lng,lat'])\n */\n } else {\n obj = t.getFitView(arg);\n }\n }\n if(!obj){return false} \n if(!type || type == 'all'){\n t.state.gis.centerAndZoom(obj.center, obj.zoom);\n }else if(type == 'zoom'){\n t.setZoomLevel(obj.zoom);\n }else if(type == 'center'){\n t.setCenter([obj.center.lng,obj.center.lat]);\n }\n }\n /*get方法*/\n //获取当前地图的中心位置\n getCurrentCenter(){\n let t =this;\n return t.state.gis.getCenter();\n }\n //获取当前比例尺\n getZoomLevel (){\n let t =this;\n return t.state.gis.getZoom();\n }\n //获取对应经纬的最优 zoomLevel和center\n getFitView(ids){\n let t = this;\n if(ids.length > 0){\n let allLayers = [];\n for(let i = 0 ; i < ids.length ; i++){\n switch((t.GM.getGraphicParam(ids[i]) || {}).geometryType){\n case 'point':\n if(t.GM.getGraphic(ids[i])){\n allLayers.push(t.GM.getGraphic(ids[i]).getPosition());\n }\n break;\n case 'polyline':\n case 'polygon':\n if(t.GM.getGraphic(ids[i])){\n allLayers = [...allLayers,...t.GM.getGraphic(ids[i]).getPath()];\n }\n break;\n case 'circle':\n if(t.GM.getGraphic(ids[i])){\n allLayers.push(t.GM.getGraphic(ids[i]).getCenter());\n }\n break;\n }\n }\n if(allLayers.length > 0){\n return t.state.gis.getViewport(allLayers);\n }\n }\n }\n\n // 设置最佳视野\n fitView(arr=[]){\n const t= this;\n if(arr?.length >0){\n let obj = t.state.gis.getViewport(arr.map(item=>new BMap.Point(item[0], item[1])));\n t.state.gis.centerAndZoom(obj.center, obj.zoom);\n }\n }\n\n //获取图元数据\n getGraphic (id) {\n let t = this;\n if(!id){\n return false;\n }\n let gp = t.GM.getGraphicParam(id);\n let gg = t.GM.getGraphic(id);\n if(!gg){\n return false;\n }\n let p = {},pts = [],lng = 0,lat = 0;\n switch(gp.geometryType){\n case 'point':\n lng = gg.getPosition().lng;\n lat = gg.getPosition().lat;\n p = {\n ...gp,\n mapLayer: gg,\n geometry: {\n ...gp.geometry,\n x: lng,\n y: lat\n },\n attributes: {\n ...gp.attributes,\n longitude: lng,\n latitude: lat,\n other: {\n ...gp.attributes.other,\n longitude: lng,\n latitude: lat,\n }\n }\n }\n break;\n case 'polyline':\n pts = gg.getPath().map((item,index)=>{\n return [item.lng,item.lat]\n });\n p = {\n ...gp,\n mapLayer: gg,\n geometry: {\n ...gp.geometry,\n paths: pts\n },\n attributes: {\n ...gp.attributes,\n paths: pts,\n other: {\n ...gp.attributes.other,\n paths: pts\n }\n }\n }\n break;\n case 'polygon':\n // fix: 编辑图元时面积计算不正确,需要过滤一下重复的经纬度\n // pts = uniqBy(gg.getPath(), function(res){\n // return res.lng && res.lat\n // }).map((item)=>{\n // return [item.lng,item.lat]\n // });\n // 不是很理解这段计算面积为啥需要过滤重复的经纬度--会导致点位丢失\n pts = gg.getPath().map((item)=>{\n return [item.lng,item.lat]\n });\n p = {\n ...gp,\n mapLayer: gg,\n geometry: {\n ...gp.geometry,\n rings: pts\n },\n attributes: {\n ...gp.attributes,\n rings: pts,\n other: {\n ...gp.attributes.other,\n rings: pts\n }\n }\n }\n break;\n case 'circle':\n lng = gg.getCenter().lng;\n lat = gg.getCenter().lat;\n let radius = gg.getRadius();\n p = {\n ...gp,\n mapLayer: gg,\n geometry: {\n ...gp.geometry,\n x: lng,\n y: lat,\n radius\n },\n attributes: {\n ...gp.attributes,\n longitude: lng,\n latitude: lat,\n radius,\n other: {\n ...gp.attributes.other,\n longitude: lng,\n latitude: lat,\n radius\n }\n }\n }\n break;\n }\n return p;\n }\n /*功能方法*/\n //单个删除图元\n removeGraphic(id,type){\n let t = this;\n let graphic = t.GM.getGraphic(id);\n if(!!graphic){\n //清除聚合点 避免异常\n t._cluster.removeMarker(this.GM.getGraphic(id));\n //清除地图中图元\n t.state.gis.removeOverlay(graphic);\n //清除对应id的图元数据缓存\n t.GM.removeGraphic(id);\n }else{\n return false;\n }\n for(let i = 0 ; i < t.movePoints.length ; i++){\n if(t.movePoints[i].id == id){\n t.movePoints.splice(i,1);\n continue;\n }\n }\n let ids = [];\n switch(type){\n case 'point':\n ids = t.state.pointIds;\n break;\n case 'line':\n ids = t.state.lineIds;\n break;\n case 'polygon':\n ids = t.state.polygonIds;\n break;\n case 'circle':\n ids = t.state.circleIds;\n break;\n case 'draw':\n if(t.state.drawIds.point.indexOf(id) > -1){\n t.state.drawIds.point.splice(t.state.drawIds.point.indexOf(id),1);\n }\n if(t.state.drawIds.polyline.indexOf(id) > -1){\n t.state.drawIds.polyline.splice(t.state.drawIds.polyline.indexOf(id),1);\n }\n if(t.state.drawIds.polygon.indexOf(id) > -1){\n t.state.drawIds.polygon.splice(t.state.drawIds.polygon.indexOf(id),1);\n }\n if(t.state.drawIds.circle.indexOf(id) > -1){\n t.state.drawIds.circle.splice(t.state.drawIds.circle.indexOf(id),1);\n }\n if(t.state.drawIds.rectangle.indexOf(id) > -1){\n t.state.drawIds.rectangle.splice(t.state.drawIds.rectangle.indexOf(id),1);\n }\n break;\n default:\n if(t.state.pointIds.indexOf(id) > -1){\n t.state.pointIds.splice(t.state.pointIds.indexOf(id),1);\n }\n if(t.state.lineIds.indexOf(id) > -1){\n t.state.lineIds.splice(t.state.lineIds.indexOf(id),1);\n }\n if(t.state.polygonIds.indexOf(id) > -1){\n t.state.polygonIds.splice(t.state.polygonIds.indexOf(id),1);\n }\n if(t.state.circleIds.indexOf(id) > -1){\n t.state.circleIds.splice(t.state.circleIds.indexOf(id),1);\n }\n break;\n }\n if(id == t.state.editId){\n t.state.editId = '';\n }\n if(ids.indexOf(id) != -1){\n ids.splice(ids.indexOf(id),1);\n }\n }\n /*根据图元id,使图元变成可编辑状态*/\n doEdit (id){\n let t = this;\n //获取编辑点的图元和参数\n let graphic = t.GM.getGraphic(id);\n let gtp = t.GM.getGraphicParam(id);\n if(!graphic)return false;\n //关闭先前编辑的图元\n if(!!t.state.editId){\n t.endEdit();\n }\n if(!t.editGraphicChange){\n //编辑变动后\n t.editGraphicChange = (e)=>{\n let id = t.state.editId,\n param = t.getGraphic(id),\n obj = {\n param,e,id,\n geometry: param.geometry\n };\n if(param.geometry.type == 'polygon'){\n // obj.area = BMapLib.GeoUtils.getPolygonArea(param.mapLayer);\n // fix: 只能是数组计算之前的计算因为重复的经纬度导致面积为NAN\n // obj.area = BMapLib.GeoUtils.getPolygonArea(param.geometry.rings.map((item)=>{\n // return new BMap.Point(item[0], item[1])\n // }));\n obj.area = t.getPolygonArea(param.geometry.rings);\n }\n if(param.geometry.type == 'polyline'){\n obj.distance = t.calculateDistance(param.geometry.paths);\n }\n if(param.geometry.type == 'circle'){\n obj.area = Math.pow(param.geometry.radius,2)*Math.PI;\n if(t.editTimeout){\n clearTimeout(t.editTimeout);\n }\n t.editTimeout = setTimeout(()=>{\n t.setState({editGraphic:obj},()=>{\n t.props.editGraphicChange(obj);\n });\n },300);\n }else{\n t.setState({editGraphic:obj},()=>{\n t.props.editGraphicChange(obj);\n });\n }\n }\n }\n switch(gtp.geometryType){\n case 'point':\n graphic.enableDragging();\n graphic.addEventListener(\"dragend\",t.editGraphicChange);\n break;\n case 'polyline':\n case 'polygon':\n case 'rectangle':\n graphic.enableEditing();\n graphic.addEventListener(\"lineupdate\",t.editGraphicChange);\n break;\n case 'circle':\n graphic.enableEditing();\n graphic.addEventListener(\"lineupdate\",t.editGraphicChange);\n break;\n }\n t.setState({editId:id});\n }\n //关闭编辑\n endEdit (){\n let t = this;\n //获取编辑点的图元和参数\n let graphic = t.GM.getGraphic(t.state.editId);\n let gtp = t.GM.getGraphicParam(t.state.editId);\n if(!graphic)return false;\n switch(gtp.geometryType){\n case 'point':\n graphic.disableDragging();\n graphic.removeEventListener(\"dragend\",t.editGraphicChange);\n break;\n case 'polyline':\n case 'polygon':\n case 'rectangle':\n graphic.disableEditing();\n graphic.removeEventListener(\"lineupdate\",t.editGraphicChange);\n break;\n case 'circle':\n graphic.disableEditing();\n graphic.removeEventListener(\"lineupdate\",t.editGraphicChange);\n break;\n }\n let editGraphic = t.state.editGraphic;\n t.setState({\n editId: '',\n editGraphic: ''\n },()=>{\n if(editGraphic){\n t.props.editGraphicChange(editGraphic);\n }\n })\n }\n //绘制图元\n draw(obj){\n let t = this,drawParam = {};\n //先关闭(防止连点)\n t._drawmanager.close();\n //初始化参数\n drawParam.geometryType = obj.geometryType || 'point';\n drawParam.parameter = obj.parameter?{...obj.parameter}:{};\n drawParam.data = obj.data?{...obj.data}:{};\n drawParam.data.id = (obj.data || {}).id || `draw${new Date().getTime()}`;\n //判断id是否存在\n let len = t.state.drawIds[drawParam.geometryType].indexOf(drawParam.data.id);\n if(len > -1){\n //如果id存在 删除存在的图元,清除drawId中的id数据\n t.removeGraphic(drawParam.data.id);\n t.state.drawIds[drawParam.geometryType].splice(len,1);\n }\n let param = {};\n let paramgcr = {};\n if(drawParam.geometryType == 'polygon' || drawParam.geometryType == 'circle' || drawParam.geometryType == 'rectangle'){\n paramgcr.fillColor = drawParam.parameter.color;\n paramgcr.strokeColor = drawParam.parameter.lineColor;\n paramgcr.strokeOpacity = drawParam.parameter.lineOpacity;\n paramgcr.strokeWeight = drawParam.parameter.lineWidth;\n paramgcr.fillOpacity = drawParam.parameter.pellucidity;\n paramgcr.strokeStyle = drawParam.parameter.lineType;\n paramgcr.extData = {\n id: drawParam.data.id,\n attributes: {\n id: drawParam.data.id,\n config: {\n color: drawParam.parameter.color,\n lineColor: drawParam.parameter.lineColor,\n lineOpacity: drawParam.parameter.lineOpacity,\n pellucidity: drawParam.parameter.pellucidity,\n lineWidth: drawParam.parameter.lineWidth\n }\n },\n type: drawParam.geometryType\n };\n }\n switch(drawParam.geometryType){\n case 'point':\n param.offset = new BMap.Size((drawParam.parameter.markerContentX || -15) + (drawParam.parameter.width || 30)/2,\n (drawParam.parameter.markerContentY || -30) + (drawParam.parameter.height || 30)/2);\n let icon = new BMap.Icon(\n drawParam.parameter.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\n new BMap.Size(drawParam.parameter.width || 30,drawParam.parameter.height || 30)\n );\n icon.setImageSize(new BMap.Size(drawParam.parameter.width || 30,drawParam.parameter.height || 30));\n param.icon = icon;\n param.extData = {\n id: drawParam.data.id,\n attributes: {\n id: drawParam.data.id,\n url: drawParam.parameter.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\n config: {\n width: drawParam.parameter.width || 36,\n height: drawParam.parameter.height || 36\n }\n },\n type: 'point'\n };\n t._drawmanager.setDrawingMode('marker');\n t._drawmanager.open({markerOptions: param});\n break;\n case 'polyline':\n param.strokeColor = drawParam.parameter.color;\n param.strokeOpacity = drawParam.parameter.pellucidity;\n param.strokeWeight = drawParam.parameter.lineWidth;\n param.strokeStyle = drawParam.parameter.lineType;\n param.extData = {\n id: drawParam.data.id,\n attributes: {\n id: drawParam.data.id,\n config: {\n color: drawParam.parameter.color,\n pellucidity: drawParam.parameter.pellucidity,\n lineWidth: drawParam.parameter.lineWidth\n }\n },\n type: 'polyline'\n };\n t._drawmanager.open({polylineOptions: param,enableCalculate: true});\n t._drawmanager.setDrawingMode('polyline');\n break;\n case 'polygon':\n t._drawmanager.open({polygonOptions: paramgcr,enableCalculate: true});\n t._drawmanager.setDrawingMode('polygon');\n break;\n case 'circle':\n t._drawmanager.open({circleOptions: paramgcr,enableCalculate: true});\n t._drawmanager.setDrawingMode('circle');\n break;\n case 'rectangle':\n t._drawmanager.open({rectangleOptions: paramgcr,enableCalculate: true});\n t._drawmanager.setDrawingMode('rectangle');\n break;\n }\n }\n //关闭绘制图元\n closeDraw(){\n let t = this;\n t._drawmanager.close();\n }\n //清空地图图元\n clearAll(){\n let t = this;\n //清空聚合\n if (t._cluster) {\n t._cluster.clearMarkers();\n }\n //关闭测距\n if(t._rangingTool){\n t._rangingTool.close();\n }\n //清空地图\n t.state.gis.clearOverlays();\n //清空缓存数据\n t.GM.clearAll();\n //关闭编辑\n t.endEdit();\n //清空历史数据记录\n t.setState({\n pointIds: [],\n lineIds: [],\n polygonIds: [],\n circleIds: [],\n boundaryInfo: [],\n drawIds: {\n point: [],\n polyline: [],\n polygon: [],\n circle: [],\n rectangle: []\n }\n });\n }\n /*工具方法*/\n //聚合地图图元(arg为空时聚合全部点)\n cluster (arg) {\n let t = this;\n let ary = t.clusterToolFunction((arg && arg?.length>0) ? arg : t.state.pointIds);\n t._cluster.addMarkers(ary);\n }\n //删除点聚合效果\n removeCluster(arg){\n let t = this;\n let ids = (arg && arg?.length>0) ? arg : t.state.pointIds;\n let ary = t.clusterToolFunction(ids);\n if(ary.length > 0){\n t._cluster.removeMarkers(ary);\n }\n ids.map(id=>{\n t.GM.removeGraphic(id);\n })\n // 重新加点\n t.addPoint(t.props.mapPoints);\n }\n //清空聚合效果\n clearClusters(){\n let t = this;\n t._cluster.clearMarkers();\n }\n //聚合功能公共方法(获取图元集合)\n clusterToolFunction(arg){\n let t = this;\n let ary = [];\n if(!arg){\n let {pointIds} = t.state;\n ary = pointIds;\n }else{\n if(Object.prototype.toString.apply(arg) === '[object Array]'){\n ary = arg;\n }else if(typeof arg === 'string'){\n ary = arg.split(',');\n }\n }\n //过滤moveTo的点位\n //缓存所有聚合的点位\n let allps = [];\n for(let i = 0 ; i < ary.length ; i++){\n allps.push(t.GM.getGraphic(ary[i]));\n }\n return allps;\n }\n //测距\n vtxRangingTool (callback) {\n let t = this;\n let cb = (e)=>{\n //关闭测距\n t._rangingTool.close();\n //注销事件(避免重复)\n t._rangingTool.removeEventListener('drawend',cb);\n if(typeof(callback) ===\"function\"){\n let obj = {\n distance : e.distance\n };\n let objLngLats = new Array();\n for (let i = 0; i < e.points.length; i++) {\n objLngLats.push([ e.points[i].lng, e.points[i].lat ]);\n }\n obj.lnglats = objLngLats;\n callback(obj);\n }\n }\n t._rangingTool.addEventListener('drawend',cb);\n t._rangingTool.open(this.state.gis);\n }\n //开启路况\n openTrafficInfo(){\n let t =this;\n t._trafficCtrl.showTraffic();\n }\n //关闭路况\n hideTrafficInfo(){\n let t =this;\n t._trafficCtrl.hideTraffic();\n }\n //展示比例尺\n showControl (props){\n let t = this,location = t.AnchorConstant['tr'],type = '',offset=null, scaleOffset=null;\n let config = props || t.props;\n if(t.scaleControl) {\n t.state.gis.removeControl(t.scaleControl);\n }\n if(t.navigationControl) {\n t.state.gis.removeControl(t.navigationControl);\n }\n if(config.showControl.location){\n location = t.AnchorConstant[config.showControl.location];\n }\n if(config.showControl.type){\n type = t.NavigationConstant[config.showControl.type];\n }\n if(config.showControl.offset && config.showControl.offset.length>0){\n offset = new BMap.Size(config.showControl.offset[0],config.showControl.offset[1])\n scaleOffset = new BMap.Size(config.showControl.offset[0] + 70,config.showControl.offset[1])\n }\n // 左上角,添加比例尺\n let control = new BMap.ScaleControl({anchor: location, offset: scaleOffset});\n t.state.gis.addControl(control);\n t.scaleControl = control;\n if(type !== 'null'){\n //右上角,仅包含平移和缩放按钮\n let navigation = new BMap.NavigationControl({anchor: location, type: type, offset}); \n t.state.gis.addControl(navigation);\n t.navigationControl = navigation;\n }\n }\n // 移除比例尺\n removeControl() {\n const t = this;\n if(t.scaleControl) {\n t.state.gis.removeControl(t.scaleControl);\n t.scaleControl = null;\n }\n if(t.navigationControl) {\n t.state.gis.removeControl(t.navigationControl);\n t.navigationControl = null;\n }\n }\n //展示地图切换控件\n showMapTypeControl (props){\n let t = this,location = t.AnchorConstant['br'],offset=null;\n let config = props || t.props;\n if(t.mapTypeControl) {\n t.state.gis.removeControl(t.mapTypeControl);\n }\n if(config.satelliteSwitch.location){\n location = t.AnchorConstant[config.satelliteSwitch.location];\n }\n if(config.satelliteSwitch.offset && config.satelliteSwitch.offset.length>0){\n offset = new BMap.Size(config.satelliteSwitch.offset[0],config.satelliteSwitch.offset[1])\n }\n let mapTypes = [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]\n // 地图切换控件\n let control = new BMap.MapTypeControl({mapTypes, anchor: location, type: BMAP_MAPTYPE_CONTROL_HORIZONTAL, offset: offset});\n t.state.gis.addControl(control);\n t.mapTypeControl = control;\n }\n /*设置显示区域*/\n setAreaRestriction(sw_ne){\n let t = this;\n //修改了区域限制的js文件.\n let bounds = new BMap.Bounds(new BMap.Point(sw_ne[0][0],sw_ne[0][1]),new BMap.Point(sw_ne[1][0],sw_ne[1][1]));\n t._bmar.setBounds(this.state.gis,bounds);\n }\n /*取消显示区域*/\n clearAreaRestriction(){\n let t = this;\n t._bmar.clearBounds();\n }\n //渲染\n render(){\n let t = this;\n let _map = this.props;\n return(\n <div id={_map.mapId} style={{width:'100%',height:'100%'}}></div>\n );\n }\n /*公共方法*/\n moveAnimation(){\n let t = this;\n if(t.moveToTimer){\n clearInterval(t.moveToTimer);\n }\n t.moveToTimer = setInterval(()=>{\n for(let i = 0;i < t.movePoints.length; i++){\n t.movePoints[i].waitTime += 10;\n t.movePoints[i].deleteTime -= 10;\n }\n t.movePoints.sort((x,y)=>{\n return y.waitTime -x.waitTime;\n });\n let nowMovePoints = t.movePoints.slice(0,10),deleteIndex=[];\n for(let i = 0;i < nowMovePoints.length; i++){\n let {id,rx,ry,waitTime,deleteTime} = nowMovePoints[i];\n let gc = t.GM.getGraphic(id);\n if(!gc){\n clearInterval(t.moveToTimer);\n }else{\n let gg = gc.getPosition();\n let tx = gg.lng + rx,ty = gg.lat + ry;\n gc.setPosition(new BMap.Point(tx,ty));\n t.movePoints[i].waitTime = 0;\n if(deleteTime <= 0){\n deleteIndex.push(i);\n }\n }\n }\n deleteIndex.sort((a,b)=>{return b-a});\n for(let i = 0 ; i < deleteIndex.length ; i++){\n t.movePoints.splice(deleteIndex[i],1);\n }\n if(nowMovePoints.length == 0){\n clearInterval(t.moveToTimer);\n }\n },10);\n }\n moveTo(id,lnglat,delay,autoRotation,urlright,urlleft){\n delay = delay || 3;\n let t = this,timer = 10,\n gc = t.GM.getGraphic(id);\n delay = eval(delay)*1000;\n let count = delay/timer;\n let s = gc.getPosition(),e = new BMap.Point(lnglat[0],lnglat[1]);\n if(s.equals(e)){\n return false;\n }else{\n let url= null;\n //计算角度,旋转\n if(autoRotation){\n let ddeg = t.rotateDeg(gc.getPosition(),lnglat);\n if(urlleft && (ddeg < -90 && ddeg > -270)){\n ddeg += 180;\n url = urlleft;\n }else{\n url = urlright;\n }\n let gcicon = gc.getIcon();\n gcicon.setImageUrl(url);\n gc.setIcon(gcicon);\n gc.setRotation(ddeg);\n }\n //拆分延迟移动定位\n let rx = (e.lng - s.lng)/count, ry = (e.lat - s.lat)/count;\n let isHave = false;\n for(let i = 0 ; i < t.movePoints.length ;i++){\n if(t.movePoints[i].id == id){\n t.movePoints.splice(i,1,{\n id,rx,ry,\n waitTime: 0,\n deleteTime: delay\n });\n isHave = true;\n }\n }\n if(!isHave){\n t.movePoints.push({\n id,rx,ry,\n waitTime: 0,\n deleteTime: delay\n });\n }\n }\n \n }\n //点位角度旋转(以指向东(右)为0°)\n rotateDeg(sp,ep){\n let t = this;\n let spLngLat = sp;\n if(Array.isArray(sp)){\n spLngLat = new BMap.Point(sp[0],sp[1]);\n }\n let s = t.state.gis.pointToPixel(spLngLat),\n //获取当前点位的经纬度\n e = t.state.gis.pointToPixel(new BMap.Point(ep[0],ep[1])),\n deg = 0;\n if(e.x != s.x){\n var tan = (e.y - s.y)/(e.x - s.x),\n atan = Math.atan(tan);\n deg = atan*360/(2*Math.PI);\n //degree correction;\n if(e.x < s.x){\n deg = -deg + 90 + 90;\n\n } else {\n deg = -deg;\n }\n deg = -deg;\n }else {\n var disy = e.y- s.y ;\n var bias = 0;\n if(disy > 0)\n bias=-1;\n else\n bias = 1;\n if(disy == 0)\n bias = 0; \n deg = -bias * 90;\n }\n return deg;\n }\n //处理线和面的 经纬度数据\n dealData(ms){\n //区别点和圆的经纬度数据处理\n let lnglatAry = [],_extent = {xmax: 0,xmin: 0,ymax: 0,ymin: 0},path=[];\n if('getPath' in ms){\n path = ms.getPath();\n path = path.map((item,index)=>{\n let lng = item.lng,lat = item.lat;\n if(lng > _extent.xmax){\n _extent.xmax = lng;\n }\n if(lng < _extent.xmin || _extent.xmin == 0){\n _extent.xmin = lng;\n }\n if(lat > _extent.ymax){\n _extent.ymax = lat;\n }\n if(lat < _extent.ymin || _extent.ymin == 0){\n _extent.ymin = lat;\n }\n lnglatAry.push({\n lngX: lng,\n latX: lat\n });\n return [lng,lat];\n })\n }\n return {lnglatAry,_extent,path};\n }\n //显示隐藏的图元\n showGraphicById (id){\n let t = this;\n if(t.GM.getGraphic(id)){\n t.GM.getGraphic(id).show();\n }\n }\n //隐藏图元\n hideGraphicById(id){\n let t = this;\n if(t.GM.getGraphic(id)){\n t.GM.getGraphic(id).hide();\n }\n }\n //获取地图当前的位置状态信息\n getMapExtent() {\n let t = this;\n let nowBounds = t.state.gis.getBounds();\n let obj = {};\n obj.southWest = {\n lng : nowBounds.getSouthWest().lng,\n lat : nowBounds.getSouthWest().lat\n };\n obj.northEast = {\n lng : nowBounds.getNorthEast().lng,\n lat : nowBounds.getNorthEast().lat\n };\n obj.nowCenter = t.state.gis.getCenter();\n obj.zoom = t.state.gis.getZoom();\n obj.mapSize = t.state.gis.getSize();\n obj.radius = t.calculatePointsDistance([obj.nowCenter.lng,obj.nowCenter.lat],\n [obj.northEast.lng,obj.northEast.lat]);\n return obj;\n }\n //计算2点间距离 单位m 精确到2位小数\n calculatePointsDistance(fp,ep){\n return Math.round(this.state.gis.getDistance(new BMap.Point(fp[0], fp[1]), \n new BMap.Point(ep[0], ep[1]))*100)/100;\n }\n //计算多个点的距离(常用于线计算)\n calculateDistance(ps){\n let t = this,totalDistance = 0;\n if (ps.length < 0) {return false;}\n for(let i= 0 ; i< ps.length ; i++){\n if(i < ps.length-1){\n totalDistance += t.calculatePointsDistance(ps[i],ps[i+1]);\n }\n }\n return Math.round(totalDistance*100)/100;\n }\n //计算图元面积(面,圆)\n calculateArea(id){\n var t = this;\n return t.state.gis.calculateArea(t.getGraphic(id));\n }\n //对比对象数据是否相等\n deepEqual(a,b){\n return Immutable.is(Immutable.fromJS(a),Immutable.fromJS(b));\n }\n //数据解析(分析,新增,更新,删除对应的数据)\n dataMatch(oldData,newData,type){\n let onlyOldData = Set(oldData).subtract(Set(newData)).toJS();\n let onlyNewData = Set(newData).subtract(Set(oldData)).toJS();\n let onlyOldIDs = onlyOldData.map(item=>item[type]);\n let onlyNewIDs = onlyNewData.map(item=>item[type]);\n let updateDataIDs = Set(onlyOldIDs).intersect(Set(onlyNewIDs)).toJS();\n let updatedData = onlyNewData.filter(item=> updateDataIDs.indexOf(item[type])>-1);\n let replacedData = onlyOldData.filter(item=> updateDataIDs.indexOf(item[type])>-1);\n let deletedDataIDs = onlyOldIDs.filter(oldID=>updateDataIDs.indexOf(oldID)==-1);\n let addedData = onlyNewData.filter(item=>updateDataIDs.indexOf(item[type])==-1)\n \n return {deletedDataIDs,addedData,updatedData,replacedData};\n }\n //处理需要增加图元的数据(避免意外问题)\n dealAdd(ary,ids){\n let ads = [], otherupds = [];\n for(let i = 0 ; i < ary.length ; i++){\n if(ids.indexOf(ary[i].id) > -1){\n otherupds.push(ary[i]);\n }else{\n ads.push(ary[i]);\n }\n }\n return {ads,otherupds};\n }\n //处理需要更新图元的数据(避免意外问题)\n dealUpdate(ary,ids){\n let upds = [], otherads = [];\n for(let i = 0 ; i < ary.length ; i++){\n if(ids.indexOf(ary[i].id) > -1){\n upds.push(ary[i]);\n }else{\n otherads.push(ary[i]);\n }\n }\n return {upds,otherads};\n }\n // 信息窗口\n showInfoWindow(params){\n const t = this;\n if(t.popupWindow){\n t.hideInfoWindow();\n }\n let poi = new BMap.Point(params.position[0], params.position[1]);\n t.popupWindow = new BMapLib.InfoBox(t.state.gis, params.content,{\n boxStyle: params.boxStyle,\n closeIconMargin: params.closeIconMargin || \"1px 1px 0 0\",\n enableAutoPan: true,\n align: 1,\n closeIconUrl: params.closeIconUrl || `${configUrl.mapServerURL}/images/close.png`,\n });\n let marker = new BMap.Marker(poi);\n t.popupWindow.open(marker);\n }\n // 框选\n frameSelect({geometryType,parameter={},data={}},callback){\n if(!['polygon','circle','rectangle'].includes(geometryType)){\n message.warn(\"传入的类型不支持框选!\")\n return false;\n }\n const t = this;\n let params = {},\n type = geometryType||'polygon',\n id= data.id || `frameSelectFeature_${Math.random()}`;\n\n params.color = parameter.color||'red';\n params.lineColor = parameter.lineColor||'red';\n params.lineOpacity = parameter.lineOpacity||1;\n params.lineWidth = parameter.lineWidth||2;\n params.pellucidity = parameter.pellucidity||0.6;\n params.lineType = parameter.lineType||'solid';\n\n t.draw({\n geometryType: type,\n parameter: {\n ...parameter,\n ...params\n },\n data:{\n id: id\n }\n });\n\n t.frameSelectProps[id] = {\n callback,\n id,\n type: geometryType\n } \n }\n // 清除框选\n clearFrameSelect(){\n for(let key in this.frameSelectProps){\n this.removeGraphic(this.frameSelectProps[key].id,this.frameSelectProps[key].type);\n }\n this.frameSelectProps = {};\n }\n // 清除框选ById\n clearFrameSelectById(id){\n let obj = this.frameSelectProps[id];\n this.removeGraphic(obj.id, obj.type);\n delete this.frameSelectProps[id];\n }\n // 关闭信息窗口\n hideInfoWindow(){\n const t = this;\n if(t.popupWindow){\n t.popupWindow.close();\n }\n t.popupWindow = null;\n }\n //百度搜索功能\n searchPoints(searchValue,pageSize=10,pageIndex=0){\n return new Promise((resolve)=>{\n let psc = new BMap.LocalSearch(this.state.gis,{\n onSearchComplete:(result)=>{\n if(!result){\n resolve([]);\n }\n else if(result.getPageIndex()!=pageIndex){\n psc.gotoPage(pageIndex);\n }\n else{\n let res_arr = [];\n for(let i=0,len=result.getCurrentNumPois();i<len;i++){\n res_arr.push(result.getPoi(i));\n }\n resolve(res_arr.map((r)=>({\n id: r.uid,\n longitude: r.point.lng,\n latitude: r.point.lat,\n canShowLabel: true,\n config: {\n labelContent: r.title,\n labelPixelY: 27\n },\n other: 'search'\n })));\n }\n // console.log(result,result.getNumPages(),result.getPageIndex()); \n },\n pageCapacity:pageSize\n });\n psc.search(searchValue); \n })\n }\n //初始化\n componentDidMount(){\n let t = this;\n t.loadMapComplete.then(()=>{\n t.init();\n }) \n }\n //重新渲染结束\n componentDidUpdate(prevProps, prevState) {}\n //已加载组件,收到新的参数时调用\n UNSAFE_componentWillReceiveProps(nextProps) {\n let t = this;\n //点/线旧数据\n let {pointIds,lineIds,polygonIds,circleIds,drawIds} = t.state;\n let {point,polyline,polygon,circle,rectangle} = drawIds;\n //点/线新数据\n let {\n mapPoints = [],mapLines = [],mapPolygons = [],mapCircles = [],customizedBoundary =[],\n isOpenTrafficInfo,boundaryName,heatMapData,imageOverlays,\n mapVisiblePoints,setVisiblePoints,\n setCenter,mapCenter,\n setZoomLevel,mapZoomLevel,\n setCluster,mapCluster,\n isRangingTool,mapRangingTool,\n isRemove,mapRemove,\n mapDraw,isDraw,isCloseDraw,\n editGraphicId,isDoEdit,isEndEdit,\n mapPointCollection,isclearAllPointCollection,\n isSetAreaRestriction,areaRestriction,isClearAreaRestriction,\n isClearAll,mapStyle,coverageType,\n infoWindowData\n } = nextProps;\n let props = t.props;\n // 设置地图地图样式\n if(mapStyle && !t.deepEqual(mapStyle,props.mapStyle)){\n if(typeof(mapStyle) === 'string'){\n t.state.gis.setMapStyle({style:mapStyle});\n }\n if(mapStyle instanceof Array){\n t.state.gis.setMapStyle({styleJson:mapStyle});\n }\n }\n // 切换地图矢量图和卫星图背景\n if(coverageType && !t.deepEqual(coverageType,props.coverageType)){\n t.setMapType(coverageType);\n }\n // 等待地图加载\n if(!t.mapCreated)return;\n \n /*添加海量点*/\n if(mapPointCollection instanceof Array && props.mapPointCollection instanceof Array && !t.deepEqual(mapPointCollection,props.mapPointCollection)){\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(props.mapPointCollection,mapPointCollection,'id');\n t.clearPointCollection(deletedDataIDs);\n t.addPointCollection(addedData);\n t.updatePointCollection(updatedData);\n }\n if((typeof(isclearAllPointCollection) == 'boolean' && isclearAllPointCollection) || (isclearAllPointCollection && isclearAllPointCollection !== t.props.isclearAllPointCollection)){\n t.clearAllPointCollection();\n }\n /*点数据处理\n pointData[2]相同的点,执行刷新\n pointData[1]的数据在idsForGraphicId中不存在的,执行新增\n pointData[0]数据中多余的id,执行删除\n */\n if(mapPoints instanceof Array && props.mapPoints instanceof Array && !t.deepEqual(mapPoints,props.mapPoints)){\n let oldMapPoints = props.mapPoints;\n let newMapPoints = mapPoints;\n //过滤编辑的图元\n if(!!t.state.editId){\n oldMapPoints = props.mapPoints.filter((item)=>{return item.id !== editGraphicId});\n newMapPoints = mapPoints.filter((item)=>{return item.id !== editGraphicId});\n }\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapPoints,newMapPoints,'id');\n let {ads,otherupds} = t.dealAdd(addedData,[...pointIds,...point]);\n let {upds,otherads} = t.dealUpdate(updatedData,[...pointIds,...point]);\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for(let id of deletedDataIDs){\n t.removeGraphic(id,'point');\n }\n //增加\n t.addPoint([...ads,...otherads]);\n //更新\n t.updatePoint([...upds,...otherupds]);\n }\n /*\n 面数据处理\n 先全删除,再新增\n */\n if(mapPolygons instanceof Array && props.mapPolygons instanceof Array && !t.deepEqual(mapPolygons,props.mapPolygons)){\n let oldMapPolygons = props.mapPolygons;\n let newMapPolygons = mapPolygons;\n if(!!t.state.editId){\n oldMapPolygons = props.mapPolygons.filter((item)=>{return item.id !== editGraphicId});\n newMapPolygons = mapPolygons.filter((item)=>{return item.id !== editGraphicId});\n }\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapPolygons,newMapPolygons,'id');\n let {ads,otherupds} = t.dealAdd(addedData,[...rectangle,...polygon,...polygonIds]);\n let {upds,otherads} = t.dealUpdate(updatedData,[...rectangle,...polygon,...polygonIds]);\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for(let id of deletedDataIDs){\n t.removeGraphic(id,'polygon');\n }\n //增加\n t.addPolygon([...ads,...otherads]);\n //更新\n t.updatePolygon([...upds,...otherupds]);\n }\n /*\n 圆数据处理\n 先全删除,再新增\n */\n if(mapCircles instanceof Array && props.mapCircles instanceof Array && !t.deepEqual(mapCircles,props.mapCircles)){\n let oldMapCircles = props.mapCircles;\n let newMapCircles = mapCircles;\n if(!!t.state.editId){\n oldMapCircles = props.mapCircles.filter((item)=>{return item.id !== editGraphicId});\n newMapCircles = mapCircles.filter((item)=>{return item.id !== editGraphicId});\n }\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapCircles,newMapCircles,'id');\n let {ads,otherupds} = t.dealAdd(addedData,[...circleIds,...circle]);\n let {upds,otherads} = t.dealUpdate(updatedData,[...circleIds,...circle]);\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for(let id of deletedDataIDs){\n t.removeGraphic(id,'circle');\n }\n //增加\n t.addCircle([...ads,...otherads]);\n //更新\n t.updateCircle([...upds,...otherupds]);\n }\n /*\n 线数据处理\n 先全删除,再新增\n */\n if(mapLines instanceof Array && props.mapLines instanceof Array && !t.deepEqual(mapLines,props.mapLines)){\n let oldMapLines = props.mapLines;\n let newMapLines = mapLines;\n if(!!t.state.editId){\n oldMapLines = props.mapLines.filter((item)=>{return item.id !== editGraphicId});\n newMapLines = mapLines.filter((item)=>{return item.id !== editGraphicId});\n }\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapLines,newMapLines,'id');\n let {ads,otherupds} = t.dealAdd(addedData,[...lineIds,...polyline]);\n let {upds,otherads} = t.dealUpdate(updatedData,[...lineIds,...polyline]);\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for(let id of deletedDataIDs){\n t.removeGraphic(id,'line');\n }\n //增加\n t.addLine([...ads,...otherads]);\n //更新\n t.updateLine([...upds,...otherupds]); \n }\n //画其他特例线专用\n if(customizedBoundary instanceof Array && props.customizedBoundary instanceof Array && !t.deepEqual(customizedBoundary,props.customizedBoundary)){\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(props.customizedBoundary,customizedBoundary,'id');\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\n for(let id of deletedDataIDs){\n t.removeGraphic(id,'line');\n }\n t.addLine(addedData);\n t.updateLine(updatedData); \n }\n //绘制边界线\n if(boundaryName instanceof Array && props.boundaryName instanceof Array && !t.deepEqual(boundaryName,props.boundaryName)){\n let newBDName = Set(boundaryName);\n let oldBDName = Set(props.boundaryName);\n let removedBoundaryName = oldBDName.subtract(newBDName).toJS();\n let addedBoundaryName = newBDName.subtract(oldBDName).toJS();\n t.removeBaiduBoundary(removedBoundaryName);\n t.addBaiduBoundary(addedBoundaryName);\n }\n // 获取热力图\n if(heatMapData && !t.deepEqual(heatMapData,props.heatMapData)){\n t.heatMapOverlay(heatMapData);\n }\n // 打开信息窗体\n if(infoWindowData && !t.deepEqual(infoWindowData,props.infoWindowData)){\n t.infoWindow(infoWindowData);\n }\n //添加图片图层\n if(imageOverlays instanceof Array && props.imageOverlays instanceof Array && !t.deepEqual(imageOverlays,props.imageOverlays)){\n t.imageUrlOverlay(imageOverlays);\n }\n //图元编辑调用\n if((typeof(isDoEdit) == 'boolean' && isDoEdit) || (isDoEdit && isDoEdit !== t.props.isDoEdit)){\n t.doEdit(editGraphicId);\n }\n //关闭图元编辑\n if((typeof(isEndEdit) == 'boolean' && isEndEdit) || (isEndEdit && isEndEdit !== t.props.isEndEdit)){\n t.endEdit();\n }\n //开启图元绘制\n if((typeof(isDraw) == 'boolean' && isDraw) || (isDraw && isDraw !== t.props.isDraw)){\n t.draw(mapDraw);\n }\n //关闭图元绘制\n if((typeof(isCloseDraw) == 'boolean' && isCloseDraw) || (isCloseDraw && isCloseDraw !== t.props.isCloseDraw)){\n t.closeDraw();\n }\n //设置中心点\n if((typeof(setCenter) == 'boolean' && setCenter) || (setCenter && setCenter !== t.props.setCenter)){\n t.setCenter(mapCenter);\n }\n //设置点聚合\n if((typeof(setCluster) == 'boolean' && setCluster) || (setCluster && setCluster !== t.props.setCluster)){\n t.cluster(mapCluster);\n }\n // 清除聚合\n if(!setCluster && setCluster !== t.props.setCluster){\n t.removeCluster(mapCluster);\n }\n //设置比例尺\n if((typeof(setZoomLevel) == 'boolean' && setZoomLevel) || (setZoomLevel && setZoomLevel !== t.props.setZoomLevel)){\n t.setZoomLevel(mapZoomLevel);\n }\n //设置最优视野\n if((typeof(setVisiblePoints) == 'boolean' && setVisiblePoints) || (setVisiblePoints && setVisiblePoints !== t.props.setVisiblePoints)){\n t.setVisiblePoints(mapVisiblePoints);\n }\n //测距工具调用\n if((typeof(isRangingTool) == 'boolean' && isRangingTool) || (isRangingTool && isRangingTool !== t.props.isRangingTool)){\n t.vtxRangingTool(mapRangingTool);\n }\n //开关路况\n if(isOpenTrafficInfo){\n t.openTrafficInfo();\n }else{\n t.hideTrafficInfo();\n }\n //设置区域限制\n if((typeof(isSetAreaRestriction) == 'boolean' && isSetAreaRestriction) \n || (isSetAreaRestriction && isSetAreaRestriction !== t.props.isSetAreaRestriction) \n && areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\n t.setAreaRestriction(areaRestriction);\n }\n //关闭区域限制\n if((typeof(isClearAreaRestriction) == 'boolean' && isClearAreaRestriction) || (isClearAreaRestriction && isClearAreaRestriction !== t.props.isClearAreaRestriction)){\n t.clearAreaRestriction();\n }\n //清空地图\n if((typeof(isClearAll) == 'boolean' && isClearAll) || (isClearAll && isClearAll !== t.props.isClearAll)){\n t.clearAll();\n }\n //删除指定图元\n if((typeof(isRemove) == 'boolean' && isRemove) || (isRemove && isRemove !== t.props.isRemove)){\n mapRemove.map((item,index)=>{\n t.removeGraphic(item.id,item.type);\n });\n }\n // 比例尺控件位置改变\n if(nextProps.showControl && JSON.stringify(nextProps.showControl)!=JSON.stringify(t.props.showControl)){\n t.showControl(nextProps);\n }\n // 比例尺移除\n if(!nextProps.showControl) {\n t.removeControl();\n }\n // 地图类型控件位置改变\n if(nextProps.satelliteSwitch && JSON.stringify(nextProps.satelliteSwitch)!=JSON.stringify(t.props.satelliteSwitch)){\n t.showMapTypeControl(nextProps);\n }\n }\n // 初始化对外方法\n initPropsForUser(){\n const t = this;\n // t.state.gis[\"getCenter\"] = () => {\n // return t.getCurrentCenter();\n // }\n t.state.gis[\"setMapCenter\"] = (gt) => {\n t.setCenter(gt);\n }\n t.state.gis[\"fitView\"] = (arr) => {\n t.fitView(arr);\n }\n t.state.gis[\"getZoomLevel\"] = () => {\n return t.getZoomLevel();\n }\n t.state.gis[\"showInfoWindow\"] = (obj) => {\n return t.showInfoWindow(obj);\n }\n t.state.gis[\"hideInfoWindow\"] = () => {\n return t.hideInfoWindow();\n }\n t.state.gis[\"frameSelect\"] = (obj={},callback) => {\n return t.frameSelect(obj,callback);\n }\n t.state.gis[\"clearFrameSelect\"] = () => {\n return t.clearFrameSelect();\n }\n t.state.gis[\"clearFrameSelectById\"] = (id) => {\n return t.clearFrameSelectById(id);\n }\n t.state.gis[\"refresh\"] = () => {\n t.refresh();\n }\n }\n componentWillUnmount() {\n //关闭moveTo定时\n let t = this;\n if(t.state.gis){\n t.state.gis.clearOverlays();\n }\n t.state.gis = null;\n if(t.moveToTimer){\n clearInterval(t.moveToTimer);\n }\n window.VtxMap && (window.VtxMap[t.state.mapId]= null);\n }\n}\n\nexport default BaiduMap;\n"],"mappings":"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","ignoreList":[]}
|