您的位置:首页 > 产品设计 > UI/UE

Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信

2017-10-16 15:06 1416 查看


Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信



1.vue init webpack-simple vue-baidu-map
2.下载axios
  cnpm install axios;

3.在main.js中引入axios,并使用
  import axios from 'axios'
  
  Vue.prototype.$http = axios;

4.引入百度地图的js秘钥--->最好在index.js中直接引入
  

5.新建文件Map.vue,作为map组件使用

  

  export default{
    data:(){
      return{
        style:{
          width:'100%',
          height:this.height+'px'
        }
      }
    },
    props:{ //里面存放的也是数据,与data里面的数据不同的是,这里的数据是从其他地方得到的数据
      height:{
        type:Number,
        default:300
      },
      longitude:{}, //定义经度
      latitude:{} //定义纬度
    },
    mounted(){
      var map = new BMap.Map("div1");
      var point = new BMap.Point(this.longitude,this.latitude);
      map.centerAndZoom(point, 12);
      var marker = new BMap.Marker(point);//
创建标注
      map.addOverlay(marker);
    }
  }

6.假如最终组件在App.vue里面使用

   
  

import MapView from './components/Map.vue'

export default{
  data(){
    return{
      height:300,
      longitude:116.404,
      latitude:39.915
    }
  },
  componets:{
    MapView
  },
  mounted(){

  }
}

项目连接:https://github.com/yufann/vue-baidu-map
这个项目中有两个百度地图:
第一个地图实现效果是:vue+webpack+百度地图-->实现父子组件的通信(跳跃的图标(没有使用axios))
第二个地图实现效果是:vue+webpack+axios+百度地图-->实现父子组件的通信(给多个点添加信息窗口(使用了axios))
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: