百度地图InfoWindow去掉关闭按钮

最新做项目遇到的需求是进入页面百度地图默认显示信息窗体,且不显示关闭按钮,效果如图所示
在这里插入图片描述

1、 安装相关依赖后在main.js中引入

import BaiduMap from 'vue-baidu-map-3x';
app.use(BaiduMap, {
  // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
  ak: '你自己申请的密匙'
});

2、新建组件baidu.index

<template>
  <div>
      <div class="app-container">
        <div style="margin: 5px">
          <baidu-map
          	class="bm-view"
          	:center="coordinate"
          	:zoom="ruleForm.mapZoom"
          	:scroll-wheel-zoom="true"
          	@ready="handlerBMap">
            <bm-info-window 
            	:position="coordinate"
            	:show="show"
            	:closeOnClick="false">
              <div style="display: flex; flex-direction: column;">
                <span style="margin-bottom: 8px">{{ title }}</span>
                <span>地址:{{ address }}</span>
              </div>
            </bm-info-window>
          </baidu-map>
        </div>
      </div>
  </div>
</template>

<script>
export default {
  props:['title', 'address', 'coordinate'],
  data () {
    return {
      ruleForm: {
        mapZoom: 15,
        mapCenter: { lng: 126.543727, lat: 43.835562},
        address: '', // 地址
        coordinate: ''
      },
      show: true
    }
  },
}
</script>

<style lang="scss" scoped>
  .bm-view {
      width: 100%;
      height: 420px;
  }
</style>

3、在页面中引用

<template>
	<baiduMap :title="title" :address="address" :coordinate="coordinate" />
</template>
<script>
	import baiduMap from './component/baidu.vue';
	export default {
		components: {
		    baiduMap
		},
		data() {
    const getImageUrl = (name) => {
      return new URL(`../../page/portal/static/config/${name}`, import.meta.url).href
    }
    return {
      title: '伯曼公寓',
      address: '这是一个测试地址',
      coordinate: {lng: 117.236835, lat: 38.951618}
    }
  },
}
</script>

关键代码

// 写在公共样式,不然会因为scope不生效
.BMap_pop>img {
  width: 0 !important;
  height: 0 !important;
}
百度地图InfoWindow 是一个信息窗口,可以在地图上显示一些自定义的文本或 HTML 内容。通常,当用户点击地图上的标记时,会弹出一个 InfoWindow 来显示该标记的相关信息。 要在百度地图上创建 InfoWindow,可以使用 BMap.InfoWindow 类。该类提供了一些方法来设置 InfoWindow 的位置、内容和样式等属性。例如,可以使用 setContent() 方法来设置 InfoWindow 的内容,使用 setPosition() 方法来设置 InfoWindow 的位置,使用 setWidth() 和 setHeight() 方法来设置 InfoWindow 的宽度和高度等。 以下是一个简单的示例,演示如何在百度地图上创建和显示一个 InfoWindow: ```javascript // 创建地图实例 var map = new BMap.Map("map-container"); // 创建标记 var marker = new BMap.Marker(new BMap.Point(116.404, 39.915)); // 创建 InfoWindow var infoWindow = new BMap.InfoWindow("这是一个信息窗口"); // 绑定事件,点击标记时显示 InfoWindow marker.addEventListener("click", function() { map.openInfoWindow(infoWindow, marker.getPosition()); }); // 将标记添加到地图中 map.addOverlay(marker); ``` 在上面的示例中,我们创建了一个地图实例和一个标记,并将标记添加到地图中。然后,我们创建了一个 InfoWindow,并将其内容设置为 "这是一个信息窗口"。最后,我们绑定了标记的点击事件,当用户点击标记时,会在标记的位置上显示 InfoWindow。 当然,要使 InfoWindow 更加丰富和灵活,我们可以使用 HTML、CSS 和 JavaScript 来自定义 InfoWindow 的内容和样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值