快速上手

L7

Current version: L7 2.0版本号

使用方法

通过 L7 CDN 使用

Include the L7 JS JavaScript of your HTML file.

:warning: 如果需要引用第三方地图API,请确保在先引入第三方API,然后引入L7

  1. <head>
  2. <! --引入第三方地图JSAPI-->
  3. <script src='https://gw.alipayobjects.com/os/antv/pkg/_antv.l7-2.0.0/dist/l7.js'>
  4. </script>
  5. </head>

通过 Module bundle 使用

Install the npm package.

  1. // L7 依赖
  2. npm install --save @antv/l7
  3. // 第三方底图依赖
  4. npm install --save @antv/l7-maps;

初始化地图

使用 高德 底图

  1. import { Scene, PointLayer } from '@antv/l7';
  2. import { GaodeMap } from '@antv/l7-maps';
  3. const scene = new Scene({
  4. id: 'map',
  5. map: new GaodeMap({
  6. pitch: 35.210526315789465,
  7. style: 'dark',
  8. center: [104.288144, 31.239692],
  9. zoom: 4.4,
  10. }),
  11. });

使用Mapbox 底图

  1. import { Scene, HeatmapLayer } from '@antv/l7';
  2. import { Mapbox } from '@antv/l7-maps';
  3. const scene = new Scene({
  4. id: 'map',
  5. map: new Mapbox({
  6. style: 'dark',
  7. pitch: 0,
  8. center: [127.5671666579043, 7.445038892195569],
  9. zoom: 2.632456779444394,
  10. }),
  11. });

React中使用

React 组件待开发,期待和大家共建l7-react 目前可以暂时以 Submodule 方式使用

  1. import { Scene, PolygonLayer } from '@antv/l7';
  2. import { AMap } from '@antv/l7-maps';
  3. import * as React from 'react';
  4. export default class AMapExample extends React.Component {
  5. private scene: Scene;
  6. public componentWillUnmount() {
  7. this.scene.destroy();
  8. }
  9. public async componentDidMount() {
  10. const response = await fetch(
  11. 'https://gw.alipayobjects.com/os/basement_prod/d2e0e930-fd44-4fca-8872-c1037b0fee7b.json',
  12. );
  13. const scene = new Scene({
  14. id: 'map',
  15. map: new AMap({
  16. center: [110.19382669582967, 50.258134],
  17. pitch: 0,
  18. style: 'dark',
  19. zoom: 3,
  20. token: 'pg.xxx', // 高德或者 Mapbox 的 token
  21. }),
  22. });
  23. const layer = new PolygonLayer({});
  24. layer
  25. .source(await response.json())
  26. .size('name', [0, 10000, 50000, 30000, 100000])
  27. .color('name', [
  28. '#2E8AE6',
  29. '#69D1AB',
  30. '#DAF291',
  31. '#FFD591',
  32. '#FF7A45',
  33. '#CF1D49',
  34. ])
  35. .shape('fill')
  36. .style({
  37. opacity: 0.8,
  38. });
  39. scene.addLayer(layer);
  40. this.scene = scene;
  41. }
  42. public render() {
  43. return (
  44. <div
  45. id="map"
  46. style={{
  47. position: 'absolute',
  48. top: 0,
  49. left: 0,
  50. right: 0,
  51. bottom: 0,
  52. }}
  53. />
  54. );
  55. }
  56. }

⚠️组件 Unmount 时需要通过 scene.destroy() 手动销毁场景。

更多React使用 示例查看

不同项目使用模板

不同项目模板在CodeSandbox你可以预览,也可以下载到本地

React

地址

Vue

地址

Angular

地址

HTML CDN

地址