美文网首页
Vue调用百度地图的用法

Vue调用百度地图的用法

作者: 致青春永恒 | 来源:发表于2019-08-20 16:51 被阅读0次

1,引入百度地图

import BaiduMap from 'vue-baidu-map'

使用你引入的百度地图插件(ak是激活码,这要到百度api进行注册获取到。)

Vue.use(BaiduMap, {

  ak: ''

})

2,页面里面调用百度地图使用

import {BaiduMap, BmControl, BmView, BmAutoComplete, BmLocalSearch,BmlMarkerClusterer} from 'vue-baidu-map'

components: {

      BaiduMap,

      BmView,

      BmControl,

      BmAutoComplete,

      BmLocalSearch,

      coupleList,

      BmlMarkerClusterer

    },

<template>

    <div id="allmap" ref="allmap"></div>

</template>

// 创建地图

      createMap(){

        var map = new BMap.Map("allmap"); //在百度地图容器中创建一个地图

        var point = new BMap.Point(106.778458, 33.646665);//定义一个中心点坐标

        map.centerAndZoom(point,7);//设定地图的中心点和坐标并将地图显示在地图容器中

        map.enableDragging();//启用地图拖拽事件,默认启用(可不写)

        map.enableScrollWheelZoom();//启用地图滚轮放大缩小

        map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写)

        map.enableKeyboard();//启用键盘上下左右键移动地图

        var top_right_navigation = new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT, type: BMAP_NAVIGATION_CONTROL_SMALL}); //右上角,仅包含平移和缩放按钮

        /*缩放控件type有四种类型:

        BMAP_NAVIGATION_CONTROL_SMALL:仅包含平移和缩放按钮;BMAP_NAVIGATION_CONTROL_PAN:仅包含平移按钮;BMAP_NAVIGATION_CONTROL_ZOOM:仅包含缩放按钮*/

        //添加控件和比例尺

        map.addControl(top_right_navigation);

        window.map = map;//将map变量存储在全局

      },

3,遇到问题报错:Bmap is not defined

mounted () {

  this.init() .then((BMap) => {

        console.log("加载成功...")

        this.createMap() ; //创建地图

        // this.setMapEvent();//设置地图事件添加控件

          this.addMapControl();//获取地图的当前区域

          this.addMarker() //向地图中添加marker标注

      })   

  },

methods: {

      init(){

          console.log("初始化百度地图脚本...");

          const AK = " ";

          const apiVersion = "2.0";

          const timestamp = new Date().getTime();

          const BMap_URL = "http://api.map.baidu.com/getscript?v="+ apiVersion +"&ak="+ AK +"&services=&t=" + timestamp;

          return new Promise((resolve, reject) => {

            if(typeof BMap !== "undefined") {

              resolve(BMap);

              return true;

            }

            // 插入script脚本

            let scriptNode = document.createElement("script");

            scriptNode.setAttribute("type", "text/javascript");

            scriptNode.setAttribute("src", BMap_URL);

            document.body.appendChild(scriptNode);

            // 等待页面加载完毕回调

            let timeout = 0;

            let interval = setInterval(() => {

              // 超时10秒加载失败

              if(timeout >= 20) {

                reject();

                clearInterval(interval);

                console.error("百度地图脚本初始化失败...");

              }

              // 加载成功

              if(typeof BMap !== "undefined") {

                resolve(BMap);

                clearInterval(interval);

                console.log("百度地图脚本初始化成功...");

              }

              timeout += 1;

            }, 500);

          });

      },

}

相关文章

  • Vue调用百度地图的用法

    1,引入百度地图 import BaiduMap from 'vue-baidu-map' 使用你引入的百度地图插...

  • Echart百度地图使用

    本文主要叙说了百度地图的两种用法:1 在页面上直接调用百度地图API,显示地图2 使用Echart框架可视化加载百...

  • vue/react网页端地图(百度、高德等)

    此教程通用 与百度、高德地图等,在vue或react项目中用法大致一直。 主要介绍高德地图在vue的使用方法 一、...

  • vue异步调用百度地图

    Vue 异步调用百度地图 新建一个map.js 在src/assets创建一个map.js 在你的百度地图页面中调...

  • 百度地图API调用

    调用百度地图的API可以非常方便的实现我们需要的地图的功能,今天研究了一下调用百度地图API,显示定位信息、地图标...

  • 调用地图app或网页版地图

    通过链接调用百度地图app或者高德地图app 百度地图 "http://api.map...

  • 百度地图调用api

    1.注册百度地图用户 2.百度地图中创建应用,获取ak值 3.调用 (1)调用百度地图api 在应用中填写自己获取...

  • Vue 百度地图定位功能

    转载自:Vue 百度地图定位功能 先去百度平台申请一个ak接口 百度:百度地图开放平台 地址:地址 Vue 的更目...

  • 地图

    Android调用第三方地图,高德地图,百度地图!

  • 8.25兄弟会

    js调用百度地图api实现定位 百度地图的API,接口很丰富,实现定位功能 // 百度地图API功能 varmap...

网友评论

      本文标题:Vue调用百度地图的用法

      本文链接:https://www.haomeiwen.com/subject/wkwpsctx.html