Vue?Baidu?Map之自定義點圖標(biāo)bm-marker的示例
Vue Baidu Map--自定義點圖標(biāo)bm-marker
自定義點圖標(biāo)
1.將準(zhǔn)備好的圖標(biāo)放到項目中

2.使用import引入, 并在data中進行聲明
<script>
import mapIconRed from './vue-baidu-map/img/marker_red_sprite.png'
export default {
data() {
return {
mapIconRed,
}
},
}
</script>3.在<bm-marker>中加入?yún)?shù)icon,填入聲明的圖標(biāo)和圖標(biāo)大小
<bm-marker :position="mapData.center"
:icon="{mapIconRed,size: {width: 20, height: 25}}">
</bm-marker>實現(xiàn)效果:

完整代碼:
<template>
<div class="map-content" v-if="iscollegeRole">
<baidu-map class="bm-view map"
:ak="mapAK"
:scroll-wheel-zoom="true"
:center="mapData.center"
:zoom="mapData.zoom"
:continuous-zoom="true"
@ready="handler">
<bm-marker :position="mapData.center"
:icon="{mapIconRed,size: {width: 20, height: 25}}">
</bm-marker>
</baidu-map>
</div>
</template>
<script>
import BaiduMap from 'vue-baidu-map/components/map/Map.vue'
import bmMarker from 'vue-baidu-map/components/overlays/Marker'
import mapIconRed from './components/vue-baidu-map/img/marker_red_sprite.png'
export default {
components: {BaiduMap,bmMarker ,bmLabel },
data() {
return {
mapAK: 'XXXXXXXXXXX',//需要到百度地圖官網(wǎng)申請ak
BMap:null,
map:null,
mapData: {
//中心坐標(biāo)
center: { lng: 113.33, lat: 39.01 },
//縮放級別,1~19
zoom: 19
},
labelStyle:{color: 'red', fontSize : '14px',fontWeight:'600'},
}
},
methods:{
handler ({BMap, map}) {
console.log(BMap, map)
this.BMap = BMap
this.map = map
}
},
}
</script>
<style scope>
.map {
width: 100%;
height: 400px;
}
</style>vue-baidu-api地圖標(biāo)記點(自定義標(biāo)記圖標(biāo)),設(shè)置標(biāo)記點的優(yōu)先級
1:地圖標(biāo)記坐標(biāo)點:使用自帶的圖標(biāo)
<bm-marker
v-for="(item, index) in pathArr"
:key="index + '_'"
:position="item.value"
>
</bm-marker>
<script>
export default {
data(){
return{
zoom:14,
center:{},
pathArr:[
{value:{lng:30.122314,lat:121.0013123113}},
{value:{lng:30.23132113,lat:121.12414131}},
]
}
}
methods:{
//初始化地圖
handler: function ({ BMap, map }) {
// 賦值,方便調(diào)用,本節(jié)被用到
this.BMap = BMap
this.map = map
var view = this.map.getViewport(eval(this.pathArr)) // this.pathArr 是我們知道的經(jīng)緯度。可以有多個。全部以數(shù)組形式放在里面。
//進入顯示的百分比
this.zoom = view.zoom;
//打開地圖時的位置
this.center = view.center;
},
}
}
</script>2:地圖自定義圖標(biāo)標(biāo)記點:
使用z-index設(shè)計標(biāo)記點的優(yōu)先級,可以使優(yōu)先級高的標(biāo)記點不被覆蓋,顯示在最上面
<bm-marker
v-for="(item, index) in pathArr"
:key="index + '_'"
:position="item.value"
:z-index="200"
:icon="{ url: imgEndSrc, size: { width: 30, height: 35 } }"
>
</bm-marker>
<script>
export default {
data(){
return{
zoom:14,
imgEndSrc: require('@/assets/img/map/end.png'),
center:{},
pathArr:[
{value:{lng:30.122314,lat:121.0013123113}},
{value:{lng:30.23132113,lat:121.12414131}},
]
}
}
methods:{
//初始化地圖
handler: function ({ BMap, map }) {
// 賦值,方便調(diào)用,本節(jié)被用到
this.BMap = BMap
this.map = map
var view = this.map.getViewport(eval(this.pathArr)) // this.pathArr 是我們知道的經(jīng)緯度??梢杂卸鄠€。全部以數(shù)組形式放在里面。
//進入顯示的百分比
this.zoom = view.zoom;
//打開地圖時的位置
this.center = view.center;
},
}
}
</script>到此這篇關(guān)于Vue Baidu Map--自定義點圖標(biāo)bm-marker的文章就介紹到這了,更多相關(guān)Vue 自定義點圖標(biāo)bm-marker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Bootstrap + Vue.js實現(xiàn)添加刪除數(shù)據(jù)示例
本篇文章主要介紹了使用Bootstrap + Vue.js實現(xiàn) 添加刪除數(shù)據(jù)示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02
利用Vue Native構(gòu)建移動應(yīng)用的全過程記錄
VueNative是一個使用JavaScript構(gòu)建跨平臺原生移動應(yīng)用程序的框架m這篇文章主要給大家介紹了關(guān)于如何利用Vue Native構(gòu)建移動應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2021-08-08
crypto-js對稱加密解密的使用方式詳解(vue與java端)
這篇文章主要介紹了如何在Vue前端和Java后端使用crypto-js庫進行AES加密和解密,前端通過創(chuàng)建AES.js文件來實現(xiàn)加密解密功能,并在Vue文件或JavaScript中使用,后端則可以直接使用Java代碼進行AES加密和解密操作,需要的朋友可以參考下2025-01-01

