import { PolygonLayer, Scene } from '@antv/l7'; import { GaodeMap } from '@antv/l7-maps'; import * as React from 'react'; function convertRGB2Hex(rgb: number[]) { return ( '#' + rgb.map((r) => ('0' + Math.floor(r).toString(16)).slice(-2)).join('') ); } export default class MultiPolygon extends React.Component { private gui: dat.GUI; private $stats: Node; private scene: Scene; public componentWillUnmount() { this.scene.destroy(); } public async componentDidMount() { const response = await fetch( 'https://gw.alipayobjects.com/os/basement_prod/f79485d8-d86f-4bb3-856d-537b586be06e.json', ); const scene = new Scene({ id: 'map', map: new GaodeMap({ pitch: 0, style: 'dark', center: [121.775374, 31.31067], zoom: 14.1, }), }); const layer = new PolygonLayer({}) .source(await response.json()) .shape('fill') .color('red') .style({ opacity: 1.0, }); scene.addLayer(layer); } public render() { return (
); } }