import { Layout, Row, Col, Select } from 'antd'; import React, { useEffect, useState } from 'react'; import styles from './Guide.less'; import { getDashboardData } from '../../api'; import { GaodeMap ,Scene } from '@antv/l7'; import { Choropleth } from '@antv/l7plot'; import areaList from '../../assets/localData/area-list.json' interface Props { name: string; } // 脚手架示例组件 const Guide: React.FC = (props) => { const { name } = props; const [registerDays, setRegisterDays] = useState(0); const [createLayerCount, setCreateLayerCount] = useState(0); const [createPointCount, setCreatePointCount] = useState(0); useEffect(() => {debugger const scene = new Scene({ id: 'map', map: new GaodeMap({ // pitch: 20, style: 'light', center: [ 120, 20 ], zoom: 3 }) }); scene.on('loaded', () => { const data = areaList // .filter(({ level, parent }) => level === 'city' && parent === 330000) .map((item) => ({ ...item, value: Math.random() * 5000 })); const choropleth = new Choropleth({ source: { data, joinBy: { sourceField: 'adcode', geoField: 'adcode', }, }, viewLevel: { level: 'country', adcode: 100000, }, autoFit: true, color: { field: 'value', value: ['#B8E1FF', '#7DAAFF', '#3D76DD', '#0047A5', '#001D70'], scale: { type: 'quantize' }, }, style: { opacity: 1, stroke: '#ccc', lineWidth: 0.6, lineOpacity: 1, }, label: { visible: true, field: 'name', style: { fill: '#000', opacity: 0.8, fontSize: 10, stroke: '#fff', strokeWidth: 1.5, textAllowOverlap: false, padding: [5, 5], }, }, state: { active: { stroke: 'white', lineWidth: 1 }, }, tooltip: { items: ['name', 'adcode', 'value'], }, zoom: { position: 'bottomright', }, legend: { position: 'bottomleft', }, drill: { steps: ['province', 'city', 'district'], }, }); choropleth.addToScene(scene); }); //大盘统计数据 getDashboardData().then((e) => { const data = e.data || {}; data.registerDays && setRegisterDays(data.registerDays); data.createLayerCount && setCreateLayerCount(data.createLayerCount); data.createPointCount && setCreatePointCount(data.createPointCount); }); }, []); let onLayerSelectChange = (e:any) => { console.log(e); } return ( {/* 欢迎使用 {name} */} {/* 顶部信息 */}
您已注册{registerDays}
已创建图层数目{createLayerCount}
已创建点位数目{createPointCount}
{/* 下拉框 全国自定义点位数目图 */} 全国自定义点位数目图 {/* 地图 */}
); }; export default Guide;