Vue中使用百度地图demo Vue Baidu Map(vue-baidu-map)设置窗口信息

简介: Vue中使用百度地图demo Vue Baidu Map(vue-baidu-map)设置窗口信息

1.全局引入

安装  npm install --save vue-baidu-map

1.2全局配置 在main.js中配置

 

效果图:

二.代码

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <!--百度地图-->
    <baidu-map
      class="bm-view"
      :center="center"
      :zoom="zoom"
      @ready="handler"
      :auto-resize="true"
      :scroll-wheel-zoom="true"
    >
      <bm-marker
        v-for="(item, index) in points"
        :key="index"
        :position="{ lng: item.lng, lat: item.lat }"
        @click="clickHandler(item.content,item.lng,item.lat)"
        :icon="item.icon"
      >
      </bm-marker>
      <bm-info-window
        :show="show"
        :position="windowposition"
        @close="infoWindowClose"
        @open="infoWindowOpen"
        >{{content}}</bm-info-window
      >
      <bm-polyline
        :path="points"
        stroke-style="dashed"
        stroke-color="blue"
        :stroke-opacity="0.3"
        :stroke-weight="1"
      ></bm-polyline>
      
    </baidu-map>
  </div>
</template>
<script>
export default {
  name: 'HelloWorld',
  data () {
    return {
      msg: 'Welcome to map',
      center: { lng: 112, lat: 37 },
      zoom: 14,
      points: [],
      windowposition: {},
      content: {},
      show: false,
      icon: { url: "http://api.map.baidu.com/library/LuShu/1.2/examples/car.png"},
    }
  },
    mounted() {
    this.addPoints();
  },
  methods: {
    //地图实例
    handler({ BMap, map }) {
      console.log(BMap, map);
      this.center.lng = 112.404;
      this.center.lat = 37.755;
      this.zoom = 10;
    },
    clickHandler(content,lng,lat) {
      // alert(`单击点的坐标为:${e.point.lng}, ${e.point.lat}`);
      this.windowposition = { lng: lng, lat: lat };
      this.content=content;
      this.show = true;
    },
    addPoints() {
      const points = [];
      for (var i = 0; i < 10; i++) {
        let icon = this.icon;
        const position = {
          lng: Math.random() + 112,
          lat: Math.random() + 37,
          content: "我爱北京天安门" + i,
          ico: icon,
        };
        points.push(position);
      }
      this.points = points;
      console.log("this.points", this.points);
    },
    infoWindowOpen() {
      this.show = true;
    },
    infoWindowClose() {
      this.show = false;
    },
  }
}
</script>
<style scoped>
.bm-view {
  width: 100%;
  height: 800px;
}
</style>

3.参考百度Vue Baidu Map

4.代码下载 代码下载

目录
相关文章
|
3天前
|
JavaScript 定位技术
vue-baidu-map 绘制行政区划的轮廓,添加行政区划名称(含给覆盖物添加点击事件)——vue 百度地图开发
vue-baidu-map 绘制行政区划的轮廓,添加行政区划名称(含给覆盖物添加点击事件)——vue 百度地图开发
7 1
|
3天前
|
JavaScript 定位技术
vue-baidu-map 百度地图检索、获取坐标
vue-baidu-map 百度地图检索、获取坐标
10 1
|
3天前
|
JavaScript 前端开发 定位技术
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
7 0
|
3天前
|
JavaScript 定位技术
vue 百度地图开发【教程】3. 自定义百度地图主题
vue 百度地图开发【教程】3. 自定义百度地图主题
7 0
|
3天前
|
JavaScript 定位技术
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
8 0
|
2月前
|
JavaScript 定位技术 API
[JS]百度地图设置城市
[JS]百度地图设置城市
23 1
|
2月前
|
JavaScript 定位技术
Vue百度地图组件说明文档
Vue百度地图组件说明文档
316 0
|
9天前
|
Dart
Dart之集合详解(List、Set、Map)
Dart之集合详解(List、Set、Map)
14 1
|
14天前
|
存储 JavaScript 前端开发
JavaScript进阶-Map与Set集合
【6月更文挑战第20天】JavaScript的ES6引入了`Map`和`Set`,它们是高效处理集合数据的工具。`Map`允许任何类型的键,提供唯一键值对;`Set`存储唯一值。使用`Map`时,注意键可以非字符串,用`has`检查键存在。`Set`常用于数组去重,如`[...new Set(array)]`。了解它们的高级应用,如结构转换和高效查询,能提升代码质量。别忘了`WeakMap`用于弱引用键,防止内存泄漏。实践使用以加深理解。
|
9天前
|
存储 消息中间件 算法
Java中的集合框架详解:List、Set、Map的使用场景
Java中的集合框架详解:List、Set、Map的使用场景