├── .npmignore ├── .browserslistrc ├── docs ├── CNAME ├── common │ └── layer │ │ ├── composite-common │ │ └── event.md │ │ ├── polygon-layer │ │ ├── shape.md │ │ ├── style.md │ │ └── source.md │ │ ├── line-layer │ │ ├── shape.md │ │ ├── source.md │ │ ├── animate.md │ │ └── style.md │ │ ├── attribute │ │ ├── scale.md │ │ ├── state.md │ │ ├── size.md │ │ └── color.md │ │ ├── point-layer │ │ ├── source.md │ │ ├── animate.md │ │ └── style.md │ │ ├── image-layer │ │ ├── style.md │ │ └── source.md │ │ ├── heatmap-layer │ │ ├── shape.md │ │ ├── size.md │ │ └── style.md │ │ ├── text-layer │ │ └── style.md │ │ └── raster-layer │ │ └── style.md ├── examples │ ├── beijingHousePrice │ │ └── index.less │ ├── countyUnemployment │ │ └── utils.tsx │ ├── poiChart.md │ ├── taxiTrips.md │ ├── highSpeedRail.md │ ├── iconImage.md │ ├── nycCensus.md │ ├── photoSpots.md │ ├── sfContour.md │ ├── sharedBike.md │ ├── topicLayer.md │ ├── iconFontLayer.md │ ├── photoHotmap.md │ ├── ukcommute.md │ ├── highspeedTime.md │ ├── losAngelesHomes.md │ ├── beijingHousePrice.md │ ├── meteoriteLanding.md │ ├── californiaEarthquakes.md │ ├── marineConservation.md │ ├── countyUnemployment.md │ ├── sanFranciscoStreetTreeMap.md │ ├── worldHeritageListDataResources.md │ ├── californiaEarthquakesHeatmap.md │ ├── marineConservation │ │ ├── Legend.tsx │ │ ├── constants.tsx │ │ └── index.tsx │ ├── ukcommute │ │ ├── constants.tsx │ │ └── index.tsx │ ├── sanFranciscoStreetTreeMap │ │ └── index.less │ ├── meteoriteLanding │ │ └── index.tsx │ ├── photoSpots │ │ └── index.tsx │ ├── californiaEarthquakesHeatmap │ │ └── index.tsx │ ├── photoHotmap │ │ └── index.tsx │ └── shareBike │ │ └── index.tsx ├── blocks │ ├── layer-attribute │ │ ├── line-layer-style-attribute │ │ │ └── index.md │ │ ├── bubble-layer-style-attribute │ │ │ └── index.md │ │ ├── heatmap-layer-style-attribute │ │ │ └── index.md │ │ └── choropleth-layer-style-attribute │ │ │ └── index.md │ ├── draw-modal │ │ ├── index.less │ │ ├── types.ts │ │ ├── default.tsx │ │ └── constants.ts │ ├── administrative-select │ │ └── demos │ │ │ └── default.tsx │ └── administrative-select.md ├── guide │ ├── faq.md │ └── design.md └── index.md ├── src ├── version.ts ├── components │ ├── Template │ │ ├── constant.ts │ │ ├── helper.ts │ │ ├── index.less │ │ ├── demos │ │ │ └── default.tsx │ │ ├── types.ts │ │ ├── index.tsx │ │ └── index.md │ ├── ContextMenu │ │ ├── constant.ts │ │ ├── types.ts │ │ ├── demos │ │ │ ├── custom.tsx │ │ │ └── default.tsx │ │ ├── index.less │ │ ├── ContextMenuItem.tsx │ │ └── index.md │ ├── Layers │ │ ├── hooks │ │ │ ├── index.ts │ │ │ └── use-layer-event │ │ │ │ ├── constant.ts │ │ │ │ └── index.ts │ │ ├── BaseLayers │ │ │ ├── LineLayer │ │ │ │ ├── types.ts │ │ │ │ ├── index.tsx │ │ │ │ └── demos │ │ │ │ │ └── default.tsx │ │ │ ├── TextLayer │ │ │ │ ├── types.ts │ │ │ │ ├── index.tsx │ │ │ │ └── demos │ │ │ │ │ └── default.tsx │ │ │ ├── ImageLayer │ │ │ │ ├── types.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── demos │ │ │ │ │ └── default.tsx │ │ │ │ └── index.md │ │ │ ├── PointLayer │ │ │ │ ├── types.ts │ │ │ │ ├── index.tsx │ │ │ │ └── demos │ │ │ │ │ └── default.tsx │ │ │ ├── RasterLayer │ │ │ │ ├── types.ts │ │ │ │ ├── index.tsx │ │ │ │ └── demos │ │ │ │ │ └── rasterImage.tsx │ │ │ ├── HeatmapLayer │ │ │ │ ├── types.ts │ │ │ │ ├── index.tsx │ │ │ │ └── demos │ │ │ │ │ └── default.tsx │ │ │ └── PolygonLayer │ │ │ │ ├── types.ts │ │ │ │ ├── index.tsx │ │ │ │ └── demos │ │ │ │ └── default.tsx │ │ ├── CompositeLayers │ │ │ ├── IconFontLayer │ │ │ │ ├── types.ts │ │ │ │ └── index.tsx │ │ │ ├── IconImageLayer │ │ │ │ ├── types.ts │ │ │ │ └── index.tsx │ │ │ ├── BubbleLayer │ │ │ │ ├── types.ts │ │ │ │ ├── index.tsx │ │ │ │ └── demos │ │ │ │ │ └── default.tsx │ │ │ ├── ChoroplethLayer │ │ │ │ ├── types.ts │ │ │ │ ├── index.tsx │ │ │ │ └── demos │ │ │ │ │ └── default.tsx │ │ │ └── FlowLayer │ │ │ │ ├── index.tsx │ │ │ │ └── demos │ │ │ │ └── default.tsx │ │ └── index.ts │ ├── Control │ │ ├── hooks │ │ │ ├── index.ts │ │ │ ├── useL7ComponentPortal.tsx │ │ │ ├── useL7ComponentUpdate.ts │ │ │ └── useL7ComponentEvent.ts │ │ ├── ZoomControl │ │ │ ├── demos │ │ │ │ └── default.tsx │ │ │ ├── types.ts │ │ │ └── index.md │ │ ├── ScaleControl │ │ │ ├── demos │ │ │ │ └── default.tsx │ │ │ ├── type.ts │ │ │ └── index.md │ │ ├── MapThemeControl │ │ │ ├── demos │ │ │ │ └── default.tsx │ │ │ └── types.ts │ │ ├── FullscreenControl │ │ │ ├── demos │ │ │ │ ├── default.tsx │ │ │ │ └── antd.tsx │ │ │ └── type.ts │ │ ├── MouseLocationControl │ │ │ ├── demos │ │ │ │ └── default.tsx │ │ │ ├── types.ts │ │ │ └── index.md │ │ ├── CustomControl │ │ │ ├── types.ts │ │ │ ├── demos │ │ │ │ └── default.tsx │ │ │ ├── index.tsx │ │ │ └── index.md │ │ ├── LogoControl │ │ │ ├── types.ts │ │ │ ├── demos │ │ │ │ └── default.tsx │ │ │ ├── index.md │ │ │ └── index.tsx │ │ ├── GeoLocateControl │ │ │ ├── type.ts │ │ │ ├── demos │ │ │ │ └── default.tsx │ │ │ └── index.md │ │ ├── ExportImageControl │ │ │ ├── types.ts │ │ │ └── index.md │ │ ├── LayerSwitchControl │ │ │ ├── types.ts │ │ │ └── demos │ │ │ │ ├── default.tsx │ │ │ │ ├── layerSwitchItem.tsx │ │ │ │ └── singleSelection.tsx │ │ └── index.ts │ ├── Legend │ │ ├── LegendProportion │ │ │ ├── demos │ │ │ │ ├── index.less │ │ │ │ └── default.tsx │ │ │ ├── types.ts │ │ │ ├── index.md │ │ │ └── index.less │ │ ├── LegendIcon │ │ │ ├── types.ts │ │ │ ├── index.less │ │ │ ├── demos │ │ │ │ ├── default.tsx │ │ │ │ └── custom.tsx │ │ │ ├── index.md │ │ │ └── index.tsx │ │ ├── LegendRamp │ │ │ ├── types.ts │ │ │ ├── index.md │ │ │ ├── index.less │ │ │ └── demos │ │ │ │ └── default.tsx │ │ └── LegendCategories │ │ │ ├── types.ts │ │ │ ├── index.md │ │ │ ├── index.less │ │ │ ├── demos │ │ │ └── default.tsx │ │ │ └── index.tsx │ ├── RegionLocation │ │ ├── index.less │ │ ├── constant.ts │ │ ├── demos │ │ │ └── default.tsx │ │ ├── types.ts │ │ └── index.md │ ├── LocationSearch │ │ ├── constant.ts │ │ ├── index.less │ │ ├── types.ts │ │ └── demos │ │ │ └── default.tsx │ ├── LarkMap │ │ ├── hooks │ │ │ ├── index.ts │ │ │ ├── use-scene │ │ │ │ ├── index.ts │ │ │ │ ├── demos │ │ │ │ │ └── default.tsx │ │ │ │ └── use-scene.md │ │ │ ├── use-layer-manager │ │ │ │ └── index.ts │ │ │ ├── use-layer-list │ │ │ │ ├── demos │ │ │ │ │ ├── constants.ts │ │ │ │ │ └── default.tsx │ │ │ │ ├── use-layer-list.md │ │ │ │ └── index.ts │ │ │ ├── use-layer │ │ │ │ ├── demos │ │ │ │ │ ├── default.tsx │ │ │ │ │ └── constants.ts │ │ │ │ ├── use-layer.md │ │ │ │ └── index.ts │ │ │ ├── use-scene-event │ │ │ │ └── constant.ts │ │ │ └── use-control │ │ │ │ └── index.ts │ │ ├── demos │ │ │ └── default.tsx │ │ └── helper.ts │ ├── Draw │ │ ├── use-draw-group │ │ │ ├── demos │ │ │ │ └── default.less │ │ │ └── types.ts │ │ ├── use-draw │ │ │ ├── constant.ts │ │ │ ├── types.ts │ │ │ ├── demos │ │ │ │ └── default.tsx │ │ │ └── index.md │ │ └── types.ts │ ├── SyncScene │ │ ├── types.ts │ │ ├── index.tsx │ │ ├── index.md │ │ └── demos │ │ │ ├── multiScenes.tsx │ │ │ ├── zoomGap.tsx │ │ │ └── defaultUtils.tsx │ ├── Marker │ │ ├── index.md │ │ ├── demos │ │ │ ├── default.tsx │ │ │ └── custom.tsx │ │ ├── types.ts │ │ └── index.tsx │ ├── Popup │ │ ├── types.ts │ │ ├── demos │ │ │ └── default.tsx │ │ └── index.md │ └── LayerPopup │ │ ├── utils.ts │ │ └── types.ts ├── types │ ├── index.ts │ ├── common.ts │ └── control.ts └── utils │ ├── index.ts │ ├── style.ts │ ├── url.ts │ └── color.ts ├── typings.d.ts ├── .husky ├── pre-commit └── commit-msg ├── .prettierignore ├── .stylelintrc.js ├── .prettierrc.js ├── .eslintignore ├── scripts ├── sync-version.js ├── father-plugin-less.js ├── babel-less-to-css.js └── loader-less-to-css.js ├── jest.config.js ├── __tests__ └── version.spec.ts ├── .commitlintrc.js ├── .github ├── PULL_REQUEST_TEMPLATE.md ├── ISSUE_TEMPLATE │ ├── ---feature-request.md │ ├── ---ask-for-question.md │ └── ----bug-report.md ├── workflows │ ├── release-label.yml │ ├── release-notify.yml │ ├── preview.yml │ ├── lint.yml │ └── release.yml └── release.yaml ├── .editorconfig ├── .gitignore ├── .eslintrc.js ├── tsconfig.json ├── LICENSE └── .fatherrc.ts /.npmignore: -------------------------------------------------------------------------------- 1 | dist/report.html 2 | -------------------------------------------------------------------------------- /.browserslistrc: -------------------------------------------------------------------------------- 1 | last 2 versions 2 | -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | larkmap.antv.vision 2 | -------------------------------------------------------------------------------- /src/version.ts: -------------------------------------------------------------------------------- 1 | export default '1.5.1'; 2 | -------------------------------------------------------------------------------- /docs/common/layer/composite-common/event.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.less'; 2 | declare module '*.png'; 3 | declare module '*.svg'; 4 | -------------------------------------------------------------------------------- /src/components/Template/constant.ts: -------------------------------------------------------------------------------- 1 | /** 组件名称, 前缀 */ 2 | export const CLS_PREFIX = 'larkmap-template'; 3 | -------------------------------------------------------------------------------- /src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | export * from './layer'; 3 | export * from './control'; 4 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | # lint-staged 5 | npx lint-staged 6 | -------------------------------------------------------------------------------- /src/components/ContextMenu/constant.ts: -------------------------------------------------------------------------------- 1 | /** 组件名称, 前缀 */ 2 | export const CLS_PREFIX = 'larkmap-context-menu'; 3 | -------------------------------------------------------------------------------- /src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './layer-manager'; 2 | export * from './style'; 3 | export * from './url'; 4 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx --no-install commitlint --edit "$1" 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .**/** 2 | 3 | node_modules 4 | dist 5 | coverage 6 | 7 | package.json 8 | package-lock.json 9 | -------------------------------------------------------------------------------- /src/components/Layers/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './use-create-layer'; 2 | export * from './use-layer-event'; 3 | -------------------------------------------------------------------------------- /.stylelintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [require.resolve('@umijs/fabric/dist/stylelint')], 3 | rules: {}, 4 | }; 5 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | const fabric = require('@umijs/fabric'); 2 | 3 | module.exports = { 4 | ...fabric.prettier, 5 | printWidth: 120, 6 | }; 7 | -------------------------------------------------------------------------------- /docs/common/layer/polygon-layer/shape.md: -------------------------------------------------------------------------------- 1 | `string` optional default: `'fill'` 2 | 3 | 内置两种 shape: 4 | 5 | - 2D 填充面:`'fill'` 6 | - 3D 立方体:`'extrude'` 7 | -------------------------------------------------------------------------------- /docs/examples/beijingHousePrice/index.less: -------------------------------------------------------------------------------- 1 | .circle { 2 | width: 12px; 3 | height: 12px; 4 | margin-right: 10px; 5 | border-radius: 50%; 6 | } 7 | -------------------------------------------------------------------------------- /src/components/Template/helper.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 获取随机数 3 | * @returns number 4 | */ 5 | export const getRandom = () => { 6 | return Math.random(); 7 | }; 8 | -------------------------------------------------------------------------------- /src/components/Control/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './useL7ComponentEvent'; 2 | export * from './useL7ComponentUpdate'; 3 | export * from './useL7ComponentPortal'; 4 | -------------------------------------------------------------------------------- /src/components/Template/index.less: -------------------------------------------------------------------------------- 1 | @cls-prefix: larkmap-template; 2 | 3 | .@{cls-prefix} { 4 | &_decoration { 5 | text-decoration: underline; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/components/Legend/LegendProportion/demos/index.less: -------------------------------------------------------------------------------- 1 | .demo_cls{ 2 | background-color: #fff; 3 | border-radius: 4px; 4 | padding: 5px; 5 | width: 180px; 6 | } 7 | -------------------------------------------------------------------------------- /src/components/RegionLocation/index.less: -------------------------------------------------------------------------------- 1 | @cls-prefix: larkmap-administrative-location; 2 | 3 | .@{cls-prefix} { 4 | background-color: #fff; 5 | padding: 4px; 6 | } 7 | -------------------------------------------------------------------------------- /src/components/Template/demos/default.tsx: -------------------------------------------------------------------------------- 1 | import { Template } from '@antv/larkmap'; 2 | import React from 'react'; 3 | 4 | export default () =>