6.0.3 • Published 1 month ago

@uiw/react-amap-polygon-editor v6.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

PolygonEditor 编辑器

Buy me a coffee npm version Downloads

Polygon 多边形编辑器,此组件只支持AMap JS API v2.0 及以上版本。想在低版本 AMap (如 V1.4.15及以下)中使用拆线编辑功能可以查看 PolyEditor 编辑器AMap API

import { PolygonEditor } from '@uiw/react-amap';
// 或者单独安装使用
import { PolygonEditor } from '@uiw/react-amap-polygon-editor';

基本用法

注意,需要加载 <APILoader plugin="AMap.PolygonEditor">,需要加载 AMap.PolygonEditor 插件,如果点击进入当前页面,需要 刷新 页面。

<APILoader plugin="AMap.PolygonEditor">
import ReactDOM from 'react-dom';
import React, { useState, useRef } from 'react';
import { Map, APILoader, Polygon, PolygonEditor } from '@uiw/react-amap';

const Example = () => {
  const [show, setShow] = useState(true);
  const [active, setActive] = useState(false);
  // 多边形轮廓线的节点坐标数组
  const path = [
    [116.403322, 39.920255],
    [116.410703, 39.897555],
    [116.402292, 39.892353],
    [116.389846, 39.891365],
  ];
  const [polygonPath,setPolygonPath]=useState(path);

  return (
    <>
      <button onClick={() => setShow(!show)}>
        {show ? '隐藏' : '显示'}
      </button>
      <button onClick={() => setActive(!active)}>
        {active ? '结束' : '开始'}编辑
      </button>
      <div style={{ width: '100%', height: '500px' }}>
        <Map zoom={14} center={[116.400274, 39.905812]}>
          <Polygon
            visiable={show}
            path={polygonPath}
            strokeColor="#FF33FF"
            strokeWeight={6}
            strokeOpacity={0.2}
            fillOpacity={0.4}
            fillColor="#1791fc"
            zIndex={50}
          >
            <PolygonEditor
              active={active}
              onEnd={(e) => {
                if (e.target) {
                  setPolygonPath(e.target.getPath())
                }
              }}
              onAdjust={() => {
                console.log('onAdjust:>>')
              }}
              onMove={() => {
                console.log('onMove:>>')
              }}
              onAdd={() => {
                console.log('onAdd:>>')
              }}
              onAddnode={() => {
                console.log('onAddnode:>>')
              }}
              onRemovenode={() => {
                console.log('onRemovenode:>>')
              }}
            />
          </Polygon>
        </Map>
      </div>
    </>
  );
}

const Mount = () => (
  <APILoader akey="a7a90e05a37d3f6bf76d4a9032fc9129" plugin="AMap.PolygonEditor">
    <Example />
  </APILoader>
);

export default Mount;

Props

参数说明类型默认值
active是否开启编辑功能。boolean-
onAddnode增加一个节点时触发此事件(data :{target: Polygon, lnglat: Lnglat, pixel: Pixel}): void;
onRemovenode移除一个节点时触发此事件(data :{target: Polygon, lnglat: Lnglat, pixel: Pixel}): void;
onAdjust调整折线上某个点时触发此事件(data :{target: Polygon, lnglat: Lnglat, pixel: Pixel}): void;
onMove移动覆盖物时触发此事件(data :{target: Polygon, lnglat: Lnglat, pixel: Pixel}): void;
onAdd创建一个覆盖物之后触发该事件,target即为创建对象。当editor编辑对象为空时,调用open接口,再点击一次屏幕就会创建新的覆盖物对象(data :{target: Polygon}): void;
onEnd调用close之后触发该事件,target即为编辑后的覆盖物对象(data :{target: Polygon}): void;
6.0.3

1 month ago

6.0.2

3 months ago

6.0.1

5 months ago

6.0.0

5 months ago

5.0.20

5 months ago

5.0.21

5 months ago

5.0.9

9 months ago

5.0.8

10 months ago

5.0.7

10 months ago

5.0.6

10 months ago

5.0.5

10 months ago

5.0.10

9 months ago

5.0.11

9 months ago

5.0.12

8 months ago

5.0.13

8 months ago

5.0.14

8 months ago

5.0.15

7 months ago

5.0.16

7 months ago

5.0.17

7 months ago

5.0.18

6 months ago

5.0.19

6 months ago

5.0.4

11 months ago

5.0.3

11 months ago

5.0.2

11 months ago

4.5.3

1 year ago

4.6.0

1 year ago

5.0.1

1 year ago

5.0.0

1 year ago

4.4.1

1 year ago

4.4.0

1 year ago

4.4.2

1 year ago

4.5.0

1 year ago

4.5.2

1 year ago

4.5.1

1 year ago

4.0.5

1 year ago

4.2.2

1 year ago

4.0.7

1 year ago

4.0.6

1 year ago

4.2.1

1 year ago

4.2.0

1 year ago

4.3.1

1 year ago

4.1.0

1 year ago

4.3.0

1 year ago

4.1.1

1 year ago

4.0.4

1 year ago

4.0.3

1 year ago

4.0.1

2 years ago

4.0.2

2 years ago

4.0.0

2 years ago

3.0.4

2 years ago

2.7.22

2 years ago

2.7.21

2 years ago

2.7.20

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

2.7.6

2 years ago

2.7.5

2 years ago

3.0.0

2 years ago

2.7.7

2 years ago

2.7.9

2 years ago

2.7.19

2 years ago

2.7.18

2 years ago

2.7.17

2 years ago

2.7.16

2 years ago

2.7.11

2 years ago

2.7.10

2 years ago

2.7.15

2 years ago

2.7.14

2 years ago

2.7.13

2 years ago

2.7.12

2 years ago

2.7.4

2 years ago

2.7.3

2 years ago

2.5.0

2 years ago

2.4.1

2 years ago

2.7.0

2 years ago

2.6.1

2 years ago

2.6.0

2 years ago

2.5.1

2 years ago

2.7.2

2 years ago

2.7.1

2 years ago

2.6.2

2 years ago

2.3.0

3 years ago

2.4.0

3 years ago

2.2.6

3 years ago

2.2.5

3 years ago

2.2.4

3 years ago

2.2.3

3 years ago

2.2.2

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago