多边形

示例

查看代码
<template>
  <button @click="state.edit = !state.edit">editable:{{ state.edit }}</button>
  <button @click="state.visible = !state.visible">visible:{{ state.visible }}</button>
  <div class="mapDiv">
    <tdt-map :center="state.center" :zoom="state.zoom">
      <tdt-polygon
        :path="state.path"
        color="black"
        :opacity="1"
        :edit="state.edit"
        :visible="state.visible"
      ></tdt-polygon>
    </tdt-map>
  </div>
</template>

<script lang="ts" setup>
import { reactive } from "vue-demi";

const state = reactive({
  center: [113.280637, 23.125178],
  zoom: 11,
  path: [
    [113.22716, 23.14162],
    [113.26973, 23.14225],
    [113.27316, 23.105],
    [113.23265, 23.11131]
  ],
  edit: false,
  visible: true
});
</script>

<script lang="ts">
export default { name: "demo-polygon" };
</script>

<style scoped>
.mapDiv {
  width: 100%;
  height: 300px;
}
</style>

属性

属性类型默认值说明
colorString"#0000FF"多边形边线颜色
weightNumber3多边形边线的宽度,以像素为单位
opacityNumber0.5多边形边线的透明度(范围 0-1 之间)
fillColorString"#0000FF"多边形填充颜色当参数为空时,折线覆盖物将没有填充效果
fillOpacityNumber0.2多边形填充的透明度(范围 0-1 之间)
lineStyleString"solid"多边形边线的样式(solid 或 dashed)
pathArray坐标数组
editBooleanfalse是否可编辑
visibleBooleantrue是否可见
extData自定义属性

事件

事件参数描述
click({type,target,lnglat,containerPoint,extData})点击多边形后会触发此事件
dblclick({type,target,lnglat,containerPoint,extData})双击多边形后会触发此事件
mousedown({type,target,lnglat,containerPoint,extData})鼠标在多边形上按下触发此事件
mouseup({type,target,lnglat,containerPoint,extData})鼠标在多边形释放触发此事件
mouseout({type,target,lnglat,containerPoint,extData})鼠标离开多边形时触发此事件
mouseover({type,target,lnglat,containerPoint,extData})当鼠标进入多边形区域时会触发此事件
remove({type,target,extData})移除多边形时触发