mirror of https://gitee.com/antv-l7/antv-l7
78 lines
1.7 KiB
TypeScript
78 lines
1.7 KiB
TypeScript
|
import { GaodeMap, IControlOption, Logo, Scale, Scene, Zoom } from '@antv/l7';
|
||
|
import React, { FunctionComponent, useEffect, useRef } from 'react';
|
||
|
|||
const Demo: FunctionComponent = () => {
|
|||
|
const containerRef = useRef<HTMLDivElement | null>(null);
|
||
|
|||
useEffect(() => {
|
|||
const scene = new Scene({
|
|||
id: 'map',
|
|||
map: new GaodeMap({
|
|||
style: 'dark',
|
|||
center: [120, 30],
|
|||
pitch: 0,
|
|||
zoom: 6.45,
|
|||
}),
|
|||
// logoVisible: false,
|
|||
});
|
|||
|
|||
scene.on('loaded', () => {
|
|||
|
function createTestControl(position: IControlOption['position']) {
|
||
scene.addControl(
|
|||
new Zoom({
|
|||
position,
|
|||
}),
|
|||
);
|
|||
scene.addControl(
|
|||
new Scale({
|
|||
position,
|
|||
}),
|
|||
);
|
|||
|
|||
scene.addControl(
|
|||
new Logo({
|
|||
position,
|
|||
}),
|
|||
);
|
|||
}
|
|||
|
|||
createTestControl('topleft');
|
|||
createTestControl('topright');
|
|||
createTestControl('bottomleft');
|
|||
createTestControl('bottomright');
|
|||
|
|||
createTestControl('lefttop');
|
|||
createTestControl('leftbottom');
|
|||
createTestControl('righttop');
|
|||
createTestControl('rightbottom');
|
|||
|
|||
createTestControl('topcenter');
|
|||
createTestControl('leftcenter');
|
|||
createTestControl('rightcenter');
|
|||
createTestControl('bottomcenter');
|
|||
|
|
||
if (containerRef.current) {
|
|||
scene.addControl(
|
|||
new Logo({
|
|||
position: containerRef.current,
|
|||
}),
|
|||
);
|
|||
}
|
|||
});
|
|||
}, []);
|
|||
return (
|
|||
|
<>
|
||
<div ref={containerRef} />
|
|||
<div
|
|||
id="map"
|
|||
style={{
|
|||
height: '500px',
|
|||
position: 'relative',
|
|||
}}
|
|||
/>
|
|||
</>
|
|||
);
|
|||
};
|
|||
|
|||
export default Demo;
|