baiduMap.js 977 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * @Date: 2023-06-18 11:21:18
  3. * @LastEditors: zhubj
  4. * @LastEditTime: 2023-06-18 15:15:01
  5. * @Description: 头部注释
  6. * @FilePath: \own-vue3-vuecli-template\src\utils\baiduMap.js
  7. */
  8. // baiduMap.js
  9. const baiduMapKey = process.env.VUE_APP_BAIDU_MAP_KEY;
  10. export function getBMap () {
  11. if (!baiduMapKey) {
  12. return;
  13. }
  14. const BMap_URL = `https://api.map.baidu.com/api?v=3.0&ak=${baiduMapKey}&s=1&callback=onBMapCallback`;
  15. return new Promise((resolve, reject) => {
  16. // 如果已加载直接返回
  17. if (typeof BMap !== 'undefined') {
  18. resolve(BMap)
  19. return true;
  20. }
  21. // 百度地图异步加载回调处理
  22. window.onBMapCallback = () => {
  23. console.log('百度地图脚本初始化成功...');
  24. resolve(BMap)
  25. }
  26. // 插入script脚本
  27. const scriptElement = document.createElement('script');
  28. scriptElement.type = 'text/javascript'
  29. scriptElement.src = BMap_URL
  30. document.head.appendChild(scriptElement);
  31. })
  32. }