Six_Rabbit 2023-03-16 11:25 采纳率: 0%
浏览 53
已结题

百度地图卫星图层无法正常显示标点

问的是人不是AI,使用GPT回答的统统不采纳。
问题:使用vue-bmap-gl与vue-mapvgl在Vue2.0中使用el-bmapv-icon-layer在卫星地图上设置标点,在正常图层正常显示且固定,在卫星图层显示但是会随着地图的移动而移动,与坐标无关,目前代码无报错
默认图层(正确):

img


卫星图层(错误):

img

<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>
  • [使组件标点在卫星图层固定且不会随着地图滚动而滚动或者提供替代性解决方案 ]
  • 写回答

4条回答 默认 最新

  • qq_42999175 2023-03-16 11:53
    关注

    这个问题得慢慢试出来,我之前做好像遇到过类似的,应该是卫星地图和普通地图的坐标系不一样导致的。你移动之后,标点的坐标有没有变化。如果有变化的话,那就找一下你卫星地图用的啥坐标系,在el-bmapv-icon-layer上用projection转换一下应该就可以了。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月16日
  • 赞助了问题酬金20元 3月16日
  • 赞助了问题酬金50元 3月16日
  • 创建了问题 3月16日

悬赏问题

  • ¥30 为什么会失败呢,该如何调整
  • ¥50 如何在不能联网影子模式下的电脑解决usb锁
  • ¥20 服务器redhat5.8网络问题
  • ¥15 如何利用c++ MFC绘制复杂网络多层图
  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 python螺旋图像
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析