diff --git a/src/pages/BaseMap/index.js b/src/pages/BaseMap/index.js index 7650dae9..72457cd2 100644 --- a/src/pages/BaseMap/index.js +++ b/src/pages/BaseMap/index.js @@ -8,7 +8,7 @@ import Header from '../../components/Header/index.js'; import { createPoint, updatePoint, getDetailByIdApi, queryUserLayers, getLayerPointsApi, getAllProvinceApi, getCityByProvinceApi, getDistrictByCityApi, getLayerShapesApi, getPointByAddressApi, deletePoint } from '../../api'; import Pop from './pop' -import { GaodeMap, Scene, Heatmap, PolygonLayer, Marker, MarkerLayer, Popup, MouseLocation, CanvasLayer } from '@antv/l7'; +import { GaodeMap, Scene, Heatmap, PolygonLayer, Marker, MarkerLayer, Popup, MouseLocation, CanvasLayer, Scale } from '@antv/l7'; const { confirm } = Modal; // import { DrawPoint, DrawEvent } from '@antv/l7-draw'; import icon04 from '../../assets/icon/icon04.svg' @@ -111,7 +111,7 @@ class BaseMap extends React.Component { style: 'light', center: [118.405285, 39.904989], zoom: 3, - plugin: ['AMap.AutoComplete','AMap.PlaceSearch'], + plugin: ['AMap.AutoComplete', 'AMap.PlaceSearch'], }) }); @@ -141,9 +141,12 @@ class BaseMap extends React.Component { }); // 地图搜索提示功能 scene.on('loaded', () => { + // 比例尺插件 + const scale = new Scale(); + scene.addControl(scale); - // AutoComplete 插件 - window.AMap.plugin(['AMap.AutoComplete','AMap.PlaceSearch'], () => { + // AutoComplete(输入框提示) 插件 + window.AMap.plugin(['AMap.AutoComplete', 'AMap.PlaceSearch'], () => { // Autocomplete 实例配置 const autoOptions = { city: '全国', //城市,默认全国 @@ -161,9 +164,16 @@ class BaseMap extends React.Component { this.state.autoComplete = autoComplete; // 监听选中事件,将选中的地址信息显示在输入框中 autoComplete.on('select', (e) => { - console.log('select', e); + let adcode = e.poi.adcode; + + console.log('select', e); this.setState({ inputContent: e.poi.name, + provinceAdcode: adcode.substr(0, 2) + '0000', + }, () => { + // 改变adcode后不自动触发onProvinceChange函数,手动触发 + let data = this.state.provinceList.find(o => o.value === this.state.provinceAdcode); + this.onProvinceChange(this.state.provinceAdcode, data); }) }) @@ -542,7 +552,9 @@ class BaseMap extends React.Component { } // 选择省 provinceAdcode:省编码 data:省数据 onProvinceChange = (provinceAdcode, data) => { + console.log("provinceList", this.state.provinceList) console.log("data", data) + console.log("provinceAdcode", provinceAdcode) let self = this; // 清除点位图层 let getLayers = self.state.markerLayerList;