首页 > 其他分享 >vue项目使用百度地图

vue项目使用百度地图

时间:2023-01-02 14:22:46浏览次数:37  
标签:map vue script 地图 BMap new BMAP 百度

//b_map.js export function MP(ak) {     return new Promise(function (resolve, reject) {       window.init = function () {         resolve(BMap);       };       var script = document.createElement("script");       script.type = "text/javascript";       script.src =         "http://api.map.baidu.com/api?v=2.0&ak=" + ak + "&callback=init";       script.onerror = reject;       document.head.appendChild(script);     }); }   <template>     <div>         <div id="map"></div>     </div> </template>
<script>// @ts-nocheck
import { reactive, toRefs, onMounted, nextTick, getCurrentInstance } from 'vue' import { MP } from './b_map' export default {     setup() {
        const state = reactive({             count: 0,         })         const updateMap = {             initMap() {                 //初始化地图                 let map = new BMap.Map("map", { enableMapClick: false });//最好是将map设置到vuex中保存起来                 // this.$store.dispatch('mapInit',map);//将map对象放到vuex                 //设置地图中心点和显示级别,坐标可以设置为每个城市点位                 map.centerAndZoom(new BMap.Point(114.26101136, 30.6195223), 13);                 // 设置地图背景色为白色                 map.getContainer().style.background = '#fff';                 //设置滚轮                 map.enableScrollWheelZoom();                 map.addControl(new BMap.ScaleControl({//地图比例尺控件                     anchor: BMAP_ANCHOR_BOTTOM_LEFT                 }));                 //-------显示卫星地图----                 map.addControl(new BMap.MapTypeControl({ mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP] }));             }
        }         onMounted(() => {             // updateMap.initMap()             nextTick(function () {                 MP("WnRsQH38vo7AliTGD2ZwExyqTUYkw246").then(BMap => {                     var map = new BMap.Map("map");            // 创建Map实例                     var point = new BMap.Point(116.404, 39.915); // 创建点坐标                     map.centerAndZoom(point, 15);                     // 设置地图背景色为白色                     map.getContainer().style.background = '#fff';                     map.addControl(new BMap.ScaleControl({//地图比例尺控件                         anchor: BMAP_ANCHOR_BOTTOM_LEFT                     }));                     //-------显示卫星地图----                     map.addControl(new BMap.MapTypeControl({ mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP] }));                     //设置滚轮                     map.enableScrollWheelZoom();                 })
            })         })         return {             ...toRefs(state),             ...updateMap         }     } } </script>
<style lang="less" scoped> #map {     width: 100%;     height: 1000px; } </style>

标签:map,vue,script,地图,BMap,new,BMAP,百度
From: https://www.cnblogs.com/czb1218/p/17019838.html

相关文章

  • 学vue的第二天:watch()事件侦听
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title></title> <scriptsrc="js/vue.js"type="text/javascript"></script> <styletype="text/css">......
  • Vue案例——todolist
    最近在学习vue,实现todolist案例,实现效果如下:   该案例分为四个部分:header为输入框,body为列表,item是列表中的条目,footer为最下方的统计。实现步骤:①创建项目 v......
  • 令电脑中的所有程序无法访问百度
    查看百度服务器的所有ip地址 nslookupwww.baidu.com防火墙新建出站规则: 协议类型也可以选择任何,因为我们使用http/https上网,它也是属于tcp将上面通过`nslooku......
  • 校招前端二面高频vue面试题
    vue-router中如何保护路由分析路由保护在应用开发过程中非常重要,几乎每个应用都要做各种路由权限管理,因此相当考察使用者基本功。体验全局守卫:constrouter=createR......
  • vue为什么v-for的优先级比v-if的高?
    前言有时候有些面试中经常会问到v-for与v-if谁的优先级高,这里就通过分析源码去解答一下这个问题。下面的内容是在当我们谈及v-model,我们在讨论什么?的基础上分析的,所以......
  • vue的生命周期
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <scriptsrc="js/vue.js"type="text/javascript"charset="utf-8"></script> </head......
  • new Vue的时候到底做了什么
    Vue加载流程1.初始化的第一阶段是Vue实例也就是vm对象创建前后:首先Vue进行生命周期,事件初始化发生在beforeCreate生命周期函数前,然后进行数据监测和数据代理的初始化,也就......
  • vue2 项目25
    app.js:<template><divid="app"><router-view></router-view></div></template><stylelang="less">body,html{margin:0;padding:0;height......
  • 2023前端二面高频vue面试题集锦
    vuex是什么?怎么使用?哪种功能场景使用它?Vuex是一个专为Vue.js应用程序开发的状态管理模式。vuex就是一个仓库,仓库里放了很多对象。其中state就是数据源存放地,对应于......
  • Vue3的响应系统
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content=......