# LabelMarker
# 使用
<amap>
<amap-labels-layer :zooms="[3, 20]" :z-index="1000" collision>
<amap-label-marker v-bind="poi" />
</amap-labels-layer>
</amap>
1
2
3
4
5
2
3
4
5
LabelMarker
需要与LabelsLayer
配合使用
# Props
# LabelMarker 属性
属性名 | 类型 | 备注 |
---|---|---|
name | string | |
position | number[2] | |
zooms | number[2] | |
opacity | number | |
rank | number | |
zIndex | number | |
visible | boolean | |
icon | IconOptions | 下详 |
text | TextOptions | 下详 |
extraOptions | object | 其它未在上面列出的属性,仅支持单次绑定 |
# IconOptions
属性名 | 类型 | 备注 |
---|---|---|
size | number[2] | AMap.Size | |
clipOrigin | number[2] | AMap.Pixel | |
clipSize | number[2] | AMap.Size | |
anchor | Anchor | number[2] | AMap.Pixel | *1 |
Anchor
为'top-left'| 'top-center'|'top-right'|'middle-left'|'center'| 'middle-right'| 'bottom-left'| 'bottom-center'| 'bottom-right'
# TextOptions
属性名 | 类型 | 备注 |
---|---|---|
content | string | |
direction | 'top' | 'right' | 'bottom' | 'left' | 'center' | |
offset | number[2] | AMap.Pixel | |
zooms | number[2] | |
style | TextStyleOptions | 下祥 |
# TextStyleOptions
属性名 | 类型 | 备注 |
---|---|---|
fontSize | number | |
fillColor | string | |
strokeColor | string | |
padding | string | number[] | |
backgroundColor | string | |
borderColor | string | |
borderWidth | number | |
fold | boolean |
# LabelsLayer 属性
属性名 | 类型 | 备注 |
---|---|---|
visible | boolean | |
zIndex | number | |
opacity | number | |
collision | boolean | |
allowCollision | boolean | |
zooms | number[] | |
extraOptions | object | 其它未在上面列出的属性,仅支持单次绑定 |
# Events
事件名 | 备注 |
---|---|
mousedown | |
mouseup | |
touchstart | |
touchmove | |
touchend | |
click | |
mousemove | |
mouseover | |
mouseout |
# Example
<template>
<demo-view hide-control @map-complete="onMapComplete">
<template v-slot:map-content>
<amap-labels-layer :zooms="[3, 20]" :z-index="1000" collision>
<amap-label-marker v-for="(poi, i) in pois" :key="i" v-bind="poi" />
</amap-labels-layer>
</template>
</demo-view>
</template>
<script>
const pois = Object.freeze(
require('../../public/assets/data/restaurants.json')
);
export default {
data() {
return {
pois,
};
},
methods: {
async onMapComplete(map) {
await this.$nextTick();
map.setFitView();
},
},
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29