MapboxBufferCircle

View source
圆形缓冲区,基于 turf 测地圆按米半径生成填充与描边图层。

简介

MapboxBufferCircle 以圆心与米半径生成 turf 测地圆,渲染为填充 + 描边两层。color 提供快捷配色,fillPaint / linePaint 可整体覆盖样式。

用法

拖动滑块调整半径(米):

半径 2000m
<script setup lang="ts">
const center: [number, number] = [116.397, 39.908]
const radius = ref(2000)
</script>

<template>
  <div class="h-115 w-full overflow-hidden rounded-(--ui-radius) border border-default">
    <MapboxMap :options="{ style: 'mapbox://styles/mapbox/light-v11', center, zoom: 11 }">
      <div
        class="absolute left-3 top-3 z-10 flex items-center gap-2 rounded-(--ui-radius) border border-default bg-default/80 px-3 py-1.5 backdrop-blur"
      >
        <span class="text-sm text-muted">半径 {{ radius }}m</span>
        <USlider v-model="radius" :min="500" :max="5000" :step="500" class="w-32" />
      </div>
      <!-- turf 测地圆,半径单位米 -->
      <MapboxBufferCircle :center="center" :radius="radius" color="#3b82f6" />
    </MapboxMap>
  </div>
</template>

API

Props

Prop Default Type
center[number, number]

圆心经纬度

radiusnumber

半径(米)

steps64number

圆周采样段数

layerIdstring

图层 id 前缀;省略时自动生成

colorstring

主色(快捷样式)

fillPaintRecord<string, unknown>

整体覆盖填充 paint

linePaintRecord<string, unknown>

整体覆盖描边 paint

beforeIdstring

插入到该图层之前

Changelog

No recent changes
Copyright © 2026 - 2026 YiXuan - MIT License