翼度科技»论坛 编程开发 JavaScript 查看内容

完美解决vue引入BMapGL is not defined的问题

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
vue引入BMapGL is not defined



在项目src下添加bmp.js

内容如下:(ak是密钥)
  1. // bmp.js
  2. export function BMPGL(ak) {
  3.   return new Promise(function(resolve, reject) {
  4.     window.init = function() {
  5.       // eslint-disable-next-line
  6.       resolve(BMapGL)
  7.     }
  8.     const script = document.createElement('script')
  9.     script.type = 'text/javascript'
  10.     script.src = `http://api.map.baidu.com/api?v=1.0&type=webgl&ak=${ak}&callback=init`
  11.     script.onerror = reject
  12.     document.head.appendChild(script)
  13.   })
  14. }
复制代码
在要用到BMapGL的vue文件中导入
  1. <template>
  2.   <div class="home">
  3.   <!--创建地图容器-->
  4.     <div id="admap" class="allmap"></div>
  5.   </div>
  6. </template>

  7. <script>
  8. import { BMPGL } from "@/bmpgl.js"
  9. export default {
  10.   name: "home",
  11.   data() {
  12.     return {
  13.       ak: "XXXXXXXXX", // 百度的地图密钥
  14.       myMap: null
  15.     };
  16.   },
  17.   mounted() {
  18.     this.initMap()
  19.   },
  20.   methods: {
  21.     initMap() {
  22.       // 传入密钥获取地图回调。
  23.       BMPGL(this.ak).then((BMapGL) => {
  24.         // 创建地图实例
  25.         let map = new BMapGL.Map("admap");
  26.         // 创建点坐标 axios => res 获取的初始化定位坐标
  27.         let point = new BMapGL.Point(114.031761, 22.542826)
  28.         // 初始化地图,设置中心点坐标和地图级别
  29.         map.centerAndZoom(point, 19)
  30.         //开启鼠标滚轮缩放
  31.         map.enableScrollWheelZoom(true)
  32.         map.setHeading(64.5)
  33.         //map.setTilt(73)
  34.         // 保存数据
  35.         // this.myMap = map
  36.       })
  37.       .catch((err)=>{
  38.         console.log(err)
  39.       })
  40.     },
  41.   }
  42. };
  43. </script>
  44. <style lang="scss" scoped>
  45. .admap{
  46.   width: 100%;
  47.   height: 100vh;
  48.   position: relative;
  49.   z-index: 1;
  50. }
  51. </style>
复制代码
完美解决啦!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/javascript/328983iv7.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具