1.0.7 • Published 2 months ago

@lbh7/react-amap-circle-marker v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

CircleMarker 圆点标记

Buy me a coffee npm version Downloads

构造一个圆形覆盖物。可直接满足创建圆形标注的需要。

AMap.CircleMarker 类与 AMap.Circle 类均为在地图上绘制圆形覆盖物的方法。这两类的根本不同在于 AMap.Circle 为矢量图形类,随地图的缩放会改变大小;而 AMap.CircleMarker 类则不会随图面缩放而改变。

import { CircleMarker } from '@lbh7/react-amap';
// 或者单独安装使用
import { CircleMarker } from '@lbh7/react-amap-circle-marker';

基本用法

import ReactDOM from 'react-dom';
import React, { useState, useRef } from 'react';
import { Map, APILoader, CircleMarker } from '@lbh7/react-amap';

const Example = () => {
  const [show, setShow] = useState(true);
  return (
   <>
      <button onClick={() => setShow(!show)}>
        {show ? '隐藏' : '显示'}
      </button>
      <div style={{ width: '100%', height: '400px' }}>
        <Map zoom={4} center={[116.400274, 39.905812]}>
          <CircleMarker
            center={new AMap.LngLat(116.407394, 39.904211)}
            visiable={show}
            radius={10+Math.random()*10}
            strokeColor="#fff"
            strokeWeight={2}
            strokeOpacity={0.5}
            fillColor='rgba(0,0,255,1)'
            fillOpacity={0.5}
            zIndex={10}
            bubble={true}
            cursor='pointer'
            clickable= {true}
          />
           <CircleMarker
            center={new AMap.LngLat(113.26641, 23.132324)}
            visiable={show}
            radius={10+Math.random()*10}
            strokeColor="#fff"
            strokeWeight={2}
            strokeOpacity={0.5}
            fillColor='rgba(0,0,255,1)'
            fillOpacity={0.5}
            zIndex={10}
            bubble={true}
            cursor='pointer'
            clickable= {true}
          />
           <CircleMarker
            center={new AMap.LngLat(112.562678, 37.873499)}
            visiable={show}
            radius={10+Math.random()*10}
            strokeColor="#fff"
            strokeWeight={2}
            strokeOpacity={0.5}
            fillColor='rgba(0,0,255,1)'
            fillOpacity={0.5}
            zIndex={10}
            bubble={true}
            cursor='pointer'
            clickable= {true}
          />
           <CircleMarker
            center={new AMap.LngLat(121.473662, 31.230372)}
            visiable={show}
            radius={10+Math.random()*10}
            strokeColor="#fff"
            strokeWeight={2}
            strokeOpacity={0.5}
            fillColor='rgba(0,0,255,1)'
            fillOpacity={0.5}
            zIndex={10}
            bubble={true}
            cursor='pointer'
            clickable= {true}
          />
           <CircleMarker
            center={new AMap.LngLat(117.329949, 31.733806)}
            visiable={show}
            radius={10+Math.random()*10}
            strokeColor="#fff"
            strokeWeight={2}
            strokeOpacity={0.5}
            fillColor='rgba(0,0,255,1)'
            fillOpacity={0.5}
            zIndex={10}
            bubble={true}
            cursor='pointer'
            clickable= {true}
          />
        </Map>
      </div>
    </>
  );
}

const Mount = () => (
  <APILoader akey="a7a90e05a37d3f6bf76d4a9032fc9129">
    <Example />
  </APILoader>
);

export default Mount;

Props

更多参数设置

参数说明类型默认值
visiable覆盖物是否可见。boolean-
center圆心位置LngLat-
radius圆半径,单位:px 最大值64number-
zIndex多边形覆盖物的叠加顺序。地图上存在多个多边形覆盖物叠加时,通过该属性使级别较高的多边形覆盖物在上层显示number10
bubble是否将覆盖物的鼠标或touch等事件冒泡到地图上(自v1.3 新增)booleanfalse
cursor指定鼠标悬停时的鼠标样式,自定义cursor,IE仅支持cur/ani/ico格式,Opera不支持自定义cursorstring-
strokeColor轮廓线颜色,使用16进制颜色代码赋值string#00D3FC
strokeOpacity轮廓线透明度,取值范围 0,1number0.9
strokeWeight轮廓线宽度number-
fillColor多边形填充颜色,使用16进制颜色代码赋值string#00B2D5
fillOpacity多边形填充透明度,取值范围 0,1number0.5
draggable设置多边形是否可拖拽移动booleanfalse
extData用户自定义属性,支持JavaScript API任意数据类型,如Polygon的id等any-

事件

事件类型文档

参数说明类型
onHide隐藏(): void;
onShow显示(): void;
onMouseover鼠标经过(event: MapsEvent): void;
onTouchend触摸结束时触发事件,仅适用移动设备(event: MapsEvent): void;
onClick鼠标左键单击事件(event: MapsEvent): void;
onTouchmove触摸移动进行中时触发事件,仅适用移动设备(event: MapsEvent): void;
onRightclick鼠标右键单击事件(event: MapsEvent): void;
onMouseup鼠标抬起(event: MapsEvent): void;
onMouseout鼠标移出(event: MapsEvent): void;
onTouchstart触摸开始时触发事件,仅适用移动设备(event: MapsEvent): void;
onMousedown鼠标按下(event: MapsEvent): void;
onDblclick鼠标左键双击事件(event: MapsEvent): void;