From 5af24a0fce5644f7cd9f2ff2fb98404618a579c3 Mon Sep 17 00:00:00 2001 From: Smile-Xin <13622060635@163.com> Date: Tue, 11 Feb 2025 17:29:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/BaseMap/index.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) 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;