diff --git a/src/pages/BaseMap/index.js b/src/pages/BaseMap/index.js index 825b351d..3a37c2a0 100644 --- a/src/pages/BaseMap/index.js +++ b/src/pages/BaseMap/index.js @@ -53,6 +53,7 @@ class BaseMap extends React.Component{ inputContent: '', heatMapList: [], loading: false, + markerLayerList: [] } } startLoading = () => { @@ -130,10 +131,10 @@ class BaseMap extends React.Component{ }); } else { let self = this; - let getLayers = self.state.map.getLayers(); + let getLayers = self.state.markerLayerList; for (let i = 0; i < getLayers.length; i++) { - if (getLayers[i].name == layerId) { - self.state.map.removeLayer(getLayers[i]); + if (getLayers[i].markerLayerOption.name == layerId) { + self.state.map.removeMarkerLayer(getLayers[i]); } } self.hideHeatMap(layerId); @@ -153,26 +154,6 @@ class BaseMap extends React.Component{ let self = this; let map = this.state.map; let LabelsData = data || []; - let logoImage = data.length > 0 && data[0].logoImage; - // map.addImage( 'blueIcon',logoImage,); - // map.addImage('yellowIcon', icon2,); - // map.addImage( 'greenIcon','https://gw.alipayobjects.com/zos/basement_prod/7aa1f460-9f9f-499f-afdf-13424aa26bbf.svg',); - // const pointLayer = new PointLayer({name: layerId}) - // .source(LabelsData, { - // parser: { - // type: 'json', - // x: 'lng', - // y: 'lat', - // } - // }) - // .shape('yellowIcon') - // .size(20) - // .active(true) - // .style({ - // opacity: 1, - // strokeWidth: 3 - // }); - // map.addLayer(pointLayer); let markerLayer = new MarkerLayer({name: layerId}); let el, popup, marker; for (let i = 0; i < LabelsData.length; i++) { @@ -196,6 +177,9 @@ class BaseMap extends React.Component{ markerLayer.addMarker(marker); } + this.setState({ + markerLayerList: [...this.state.markerLayerList, markerLayer], + }) this.state.map.addMarkerLayer(markerLayer); }