Skip to content

扇形缓冲区(BufferSectorLayer)

支持拖拽改变位置,拖拽改变大小,实时显示面积等功能

示例

示例源码
tsx
import React, { useEffect, useState, useRef } from 'react'
import ReactDOM from 'react-dom'
import { MbMap, MbBufferSectorLayer, MbTiandituLayer } from '@mapbox-react/core'

const App = () => {
  const [mapCenter] = useState([116.17381, 39.92155464])
  const [zoom, setZoom] = useState(10)

  return (
    <div className="map-wrapper">
      <MbMap
        center={mapCenter}
        zoom={zoom}
        glyphs="https://mapbox-web.github.io/mapbox-react/fonts/{fontstack}/{range}.pbf"
        sprite="https://mapbox-web.github.io/mapbox-react/sprites/sprite"
      >
        <MbTiandituLayer types={['vec']} />
        <MbBufferSectorLayer
          center={mapCenter}
          radius={8}
          startAngle={315}
          borderColor="blue"
          borderOpacity={0.5}
          backgroundColor="blue"
          centerColor="red"
          resizerColor="blue"
          backgroundOpacity={0.1}
          closable={true}
          countable={true}
          draggable={true}
          resizable={true}
          rotatable={true}
        />
      </MbMap>
    </div>
  );
}

ReactDOM.render(<App />,
  document.getElementById("root"))

API

PROPS

名称描述类型默认值
id图层idstring-
center缓冲区中心点number[]-
radius缓冲区半径,单位千米number10
startAngle开始角度,圆心正北方向为0度,顺时针旋转。0~360之间number0
endAngle结束角度,圆心正北方向为0度,顺时针旋转。0~360之间number90
borderColor边框颜色stringblue
borderOpacity边框透明度number0.5
borderWidth边框宽度number5
backgroundColor背景色stringblue
backgroundOpacity背景透明度number0.1
resizerColor缩放器Icon颜色stringblack
centerColor中心点Icon颜色stringred
closable是否显示关闭Iconbooleanfalse
countable是否显示半径数值文字,需要加载mapbox字体文件booleanfalse
resizable是否显示缩放器Iconbooleanfalse
draggable是否可拖拽位置booleanfalse
rotatable是否可旋转角度booleanfalse
visible是否显示booleantrue
resizerRadius缩放器Icon圆圈半径number8
centerRadius中心点Icon圆圈半径number8
textFontscountable字体设置string[]['Open Sans Regular']
textColorcountable字体颜色string#000000
textSizecountable字体大小number16
formattercountable文字格式化器function(area, radius) => string
closeSize关闭icon放大倍数number0.7
closeOffset关闭icon偏移number[][65, -20]
closeIconUrl自定义关闭Icon URLstring-

EVENTS

名称描述参数
onUpdate改变缓冲区时触发事件参数:{center,radius,startAngle,endAngle}
onClose点击关闭操作MapMouseEvent
onMouseEnter鼠标滑入缓冲区-
onMouseLeave鼠标滑出缓冲区-

METHODS

名称描述定义