Skip to content

3D圆柱图层(ColumnLayer)

示例

示例源码
vue
<template>
  <div style="height: 500px">
    <div style="height: 470px">
      <mb-map :pitch="60" :bearing="30" :zoom="10">
        <mb-tianditu-layer />
        <mb-column-layer
          :data="__RESOURCE_URL__ + 'json/beijing_price.json'"
          :position="(d) => d.lnglat"
          :elevation="(d) => d.transPrice / 30"
          :fill-color="
            (d) => `rgba(${(d.transPrice / 10000) * 15},125,125,0.8)`
          "
          :radius="150"
          :pickable="true"
          :auto-highlight="true"
          @mousemove="mousemoveHandler"
          @mouseleave="mouseleaveHandler"
        />
      </mb-map>
    </div>
    <div style="height: 30px; margin: 10px 10px">
      <p v-if="comunity" class="text-muted">
        {{
          comunity.name
            ? `${comunity.name} ${comunity.transPrice / 10000}thousand/m2`
            : ''
        }}
      </p>
    </div>
  </div>
</template>

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

const comunity = ref<Record<string, any>>({})

const mousemoveHandler = ({ object }: { object: any }) => {
  if (object) {
    comunity.value = object
  }
}
const mouseleaveHandler = () => {
  comunity.value = {}
}
</script>

API

PROPS

名称描述类型默认值
id图层Idstring-
radius半径,单位为米number1000
position位置function-
auto-highlight本属性为true且pickable为true时,则会将鼠标悬浮选中的对象设为高亮booleanfalse
data图层源数据string / IndexAny / AnyArr / Promise<any>''
elevation高程number / AnyNumberFunc1000
extruded是否为3D模式booleantrue
fill-color填充颜色string / AnyFuncblack
filled是否填充booleantrue
highlight-color要与高亮对象原始颜色进行混合(blend)的颜色值string / number[][255, 255, 128, 1]
highlighted-object-index高亮元素序号number-1
line-color线颜色string / AnyFuncblack
line-width线宽度string / AnyNumberFunc1
line-width-max-pixels-numberNumber.MAX_SAFE_INTEGER
line-width-min-pixels-number0
line-width-scale-number1
line-width-units-string(pixels / meters)meters
opacity透明度number1
pickable图层是否会响应鼠标事件,若为false,则组件不会emit鼠标相关事件booleanfalse
show是否显示booleantrue
stroked是否描边booleanfalse

EVENTS

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

SLOTS

名称描述

METHODS

名称描述定义