问的是人不是AI,使用GPT回答的统统不采纳。
问题:使用vue-bmap-gl与vue-mapvgl在Vue2.0中使用el-bmapv-icon-layer在卫星地图上设置标点,在正常图层正常显示且固定,在卫星图层显示但是会随着地图的移动而移动,与坐标无关,目前代码无报错
默认图层(正确):
卫星图层(错误):
<template>
<div class="app-container" style="padding: 0;">
<div class="map-box">
<el-bmap
ref="map"
vid="bmapDemo"
:min-zoom="14"
:max-zoom="20"
:tilt="tilt"
:heading="heading"
:bmap-manager="bmapManager"
:center="center"
:zoom="zoom"
:events="events" class="bmap-demo">
<el-bmapv-view>
<el-bmapv-icon-layer :icon="icon" :width="width" :height="height" :data="deviceDate" :enable-picked="true" render="2d"></el-bmapv-icon-layer>
</el-bmapv-view>
</el-bmap>
</div>
</div>
</template>
<script>
import { BMapManager } from 'vue-bmap-gl';
import VueBMap from 'vue-bmap-gl';
let bmapManager = new VueBMap.BMapManager();
export default({
name:"bigMap",
data(){
return{
center:[121, 37],
loaded:false,
bmapManager,
zoom: 14,
center: [124.4673031945, 41.985339349],
tilt: 60,
heading: 0,
icon: '@/assets/images/map/gnss.png',
width: 24,
height: 24,
map: null,
events: {
init: (o) => {
this.map = o;
o.setMapType('B_EARTH_MAP');
console.log(o.getCenter());
console.log(this.$refs.map.$$getInstance());
},
'moveend': () => {
},
'zoomchange': () => {
},
'click': (e) => {
alert('map clicked');
}
},
deviceDate:[{
geometry: {
type: 'Point',
coordinates: [13855636.810095014,5158783.601831172],
},
properties: {
icon: '@/assets/images/map/gnss.png'
}
}]
}
},
methods:{
}
})
</script>
<style>
.map-box {
width: 100%;
height: 91vh;
}
</style>
- [使组件标点在卫星图层固定且不会随着地图滚动而滚动或者提供替代性解决方案 ]