Skip to content

绘制控件(DrawControl)

示例

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

const App = () => {
  const [mapCenter] = useState([116.38745, 39.91266])
  const [zoom, setZoom] = useState(2)

  return (
    <div className="map-wrapper">
      <MbMap center={mapCenter} zoom={zoom}>
        <MbTiandituLayer types={['vec']} />
        <MbDrawControl position="top-right" />
      </MbMap>
    </div>
  )
}

ReactDOM.render(<App />, document.querySelector('#root'))

API

PROPS

名称描述类型默认值
functions控件上呈现的功能array("point", "polyline", "polygon", "trash")["point", "polyline", "polygon", "trash"]
position控件所处位置string('top-left' , 'top-right' , 'bottom-left' ,'bottom-right')top-right

EVENTS

名称描述参数
onCreated地图初始化完成事件-
onDrawCreated绘制完成事件features: AnyArr — 数组
onDrawDelete删除元素事件features: AnyArr — 数组
onDrawUpdate绘制元素更新事件object — 包含action属性与features

METHODS

名称描述定义
addReturns: Array — featureIdsgeojson: object — geojson对象
getReturns: object — feature geojson格式featureId: string
getSelectedIds获取被选中的元素id() => array
getSelected获取被选中的元素() => object — geojson格式 featureCollection
getAll获取所有已绘制的元素() => object — geojson格式 featureCollection
delete根据id删除元素(ids: string[]) => void
deleteAll根据所有绘制的元素() => void