// @ts-ignore import { PointLayer, Scene, LineLayer, PolygonLayer, ILayer } from '@antv/l7'; import { GaodeMap, GaodeMapV2, Mapbox } from '@antv/l7-maps'; import * as React from 'react'; import * as turf from '@turf/turf'; const aspaceLnglat = [120.1019811630249, 30.264701434772807] as [ number, number, ]; export default class GaodeMapComponent extends React.Component { // @ts-ignore private scene: Scene; public componentWillUnmount() { this.scene.destroy(); } public async componentDidMount() { const scene = new Scene({ id: 'map', map: new GaodeMap({ center: aspaceLnglat, // pitch: 0, pitch: 40, style: 'dark', zoom: 17, // dragEnable: false }), }); // normal = 'normal', // additive = 'additive', // cylinder circle // blend: 'additive' // let line = new LineLayer({ zIndex: 3 }) // .source( // [ // { // lng: aspaceLnglat[0], // lat: aspaceLnglat[1], // lng2: aspaceLnglat[0] + 0.00104, // lat2: aspaceLnglat[1], // }, // ], // { // parser: { // type: 'json', // x: 'lng', // y: 'lat', // x1: 'lng2', // y1: 'lat2', // }, // }, // ) // .shape('line') // .size(2) // .color('#000'); // let text = new PointLayer({ zIndex: 2 }) // .source( // [ // { // lng: aspaceLnglat[0] + 0.0002, // lat: aspaceLnglat[1], // }, // ], // { // parser: { // type: 'json', // x: 'lng', // y: 'lat', // }, // }, // ) // // .shape('100m', 'text') // .shape('circle') // .size(25) // .color('#0f0') // .style({ // textOffset: [50, 20], // }); // let layer = new PointLayer({}) // blend: 'additive' // .source( // [ // // { // // lng: 120, // // lat: 30.267069, // // name: 'n1' // // }, // // { // // lng: 120.1025, // // lat: 30.264701434772807, // // name: 'n2', // // }, // { // lng: 120.1019811630249, // lat: 30.264701434772807, // name: 'n3', // }, // ], // { // parser: { // type: 'json', // x: 'lng', // y: 'lat', // }, // }, // ) // .shape('circle') // // .shape('cylinder') // // .color('#0f9') // // .color('#4169E1') // // .color('#4cfd47') // .color('name', ['#f00', '#ff0']) // // .size([100, 100, 1000]) // // .size([100, 100, 1000]) // // .size(10) // .size('name', [20, 40]) // // .animate({ // // // enable: true, // // enable: false, // // // type: 'www' // // }) // // .animate(true) // .select(true) // .active({ color: '#00f' }) // .style({ // heightfixed: true, // // pickLight: false, // pickLight: true, // // lightEnable: true, // // opacity: 0.5, // stroke: '#f00', // // strokeWidth: 10, // strokeWidth: 0, // strokeOpacity: 1, // // unit: 'meter', // }); // // .animate(true) // // .animate({ // // enable: true, // // speed: 0.02, // // repeat: 1 // // }) // // .active({ color: '#00f' }); this.scene = scene; // console.log('layer', layer) // let layer2 = new PointLayer({}) // .source([ // { // lng: 120.1025, // lat: 30.264701434772807, // name: 'n2' // } // ], { // parser: { // type: 'json', // x: 'lng', // y: 'lat', // }, // }) // .shape('circle') // .size(10) // .color('#00f') // .style({ // opacity: 0.5 // }) scene.on('loaded', () => { // scene.addLayer(layer); // let scale = layer.getScale('size'); // console.log('scale n2', scale('n2')); // console.log('scale n3', scale('n3')); let layer = new PointLayer({}) // blend: 'additive' .source( [ { lng: 120.1019811630249, lat: 30.264701434772807, name: 'n3', }, ], { parser: { type: 'json', x: 'lng', y: 'lat', }, }, ) .shape('circle') .color('#ff0') .size(20); scene.addLayer(layer); let text = new PointLayer({ zIndex: 2 }) .source( [ { lng: aspaceLnglat[0] + 0.0002, lat: aspaceLnglat[1], }, ], { parser: { type: 'json', x: 'lng', y: 'lat', }, }, ) // .shape('100m', 'text') .shape('circle') .size(25) .color('#0f0') .style({ textOffset: [50, 20], }); scene.addLayer(text); // scene.addLayer(line); // scene.addLayer(layer2); // scene.addLayer(trufCircle); // scene.on('movestart', e => console.log('e', e)) // scene.on('mapmove', e => console.log('e', e)) // scene.on('moveend', e => console.log('e', e)) // scene.on('zoomstart', e => console.log('e', e)) // scene.on('zoomchange', e => console.log('e', e)) // scene.on('zoomend', e => console.log('e', e)) // scene.on('mousedown', e => console.log('e', e)) }); // let c = 1; // layer.on('click', () => { // // @ts-ignore // c == 1 ? scene.setEnableRender(false) : scene.setEnableRender(true); // c = 0; // }); // layer.on('contextmenu', () => console.log('contextmenu')); // layer.on('destroy', (e) => console.log('destroy', e)); // layer.on('remove', (e) => { // console.log('remove', e); // console.log(scene.getLayers()); // }); // layer.on('unclick', (e) => { // console.log('unclick'); // }); // layer.on('dbclick', () => { // console.log('dbclick') // }) // setTimeout(() => { // layer.destroy(); // }, 2000); // layer.on('mousemove', (e) => { // console.log(e.feature); // }); } public render() { return ( <>
); } }