Skip to content

弧线图层(ArcLayer)

示例

示例源码
vue
<template>
  <div style="height: 400px">
    <mb-map :pitch="60" :bearing="30" :zoom="2.5">
      <mb-tianditu-layer />
      <mb-arc-layer
        :data="data"
        :source-position="[116, 39]"
        :target-position="(d) => d.to"
        :width="3"
        source-color="rgb(255, 0, 128)"
        target-color="rgb(0, 200, 255)"
      />
    </mb-map>
  </div>
</template>

<script setup lang="ts">
import { onMounted, ref } from 'vue'

const data = ref<Array<{ to: [number, number] }>>([])

function getRandomArbitrary(min: number, max: number) {
  return Math.random() * (max - min) + min
}

onMounted(() => {
  for (let i = 0; i < 100; i++) {
    data.value.push({
      to: [getRandomArbitrary(81, 150), getRandomArbitrary(0, 60)],
    })
  }
})
</script>

API

PROPS

名称描述类型默认值
id图层Idstring-
source-position源位置AnyArr / AnyFunc-
target-position目的位置AnyArr / AnyFunc-
auto-highlight本属性为true且pickable为true时,则会将鼠标悬浮选中的对象设为高亮booleanfalse
data图层源数据string / IndexAny / AnyArr / Promise<any>''
highlight-color要与高亮对象原始颜色进行混合(blend)的颜色值string / number[][255, 255, 128, 1]
highlighted-object-index高亮元素序号number-1
opacity透明度number1
pickable图层是否会响应鼠标事件,若为false,则组件不会emit鼠标相关事件booleanfalse
show是否显示booleantrue
source-color源颜色string / AnyFuncblack
target-color目标颜色string / AnyFuncblack
width宽度number / AnyNumberFunc1

EVENTS

名称描述参数
created初始化完成事件-
mousemove-{ object: any; coordinates: mapboxgl.LngLat; pixel: [number, number] }
mouseleave--
click-{ object: any; coordinates: mapboxgl.LngLat; pixel: [number, number] }

SLOTS

名称描述

METHODS

名称描述定义