vue脚手架开发+百度地图API的使用(带实例)

学习目标:

在vue开发中彻底把 —— 百度地图API ——如何引用学会
看了我写的这篇文章,你一定可以的。

项目背景说明:

最近这几天在写vue项目,遇到要用百度地图API的情况,故上网去搜索,无奈方法五花八门,根本一点都不系统,而且有的文章完全胡说八道。按他的方法根本地图都出不来,用最近比较流行的一句话概括:
在这里插入图片描述
好了废话不多说,直接来吧。

个人总结的使用方法:

【步骤1】
直接在你搭建好的vue项目的public文件夹中的——index.html——的body结束标签上面引入下面这行代码
【很多文章都说要 在项目中——npm install vue-baidu-map –save 个人觉得没必要,至少我没有这样做】

<script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=自己的密钥"></script>

至于密钥就不多说了,网上是对的哈哈。
步骤原理分析:vue是单页面开发,所以不管如何它始终只是把index.html解析成最终的页面而已,就像我们写一个HTML页面一样,是不是也可以在body的结束标签上面引入JS文件一样呢?
一样的道理嘛!

【步骤2】
类似于引用Echarts一样的手法 需要先写一个div之类的来装地图(绑定一个dom),让地图能有地方展示出来

 <div>
      <!-- 使用百度地图API -->
      <div id="bdMap"></div>
  </div>

好了,万事俱备只欠东风,这里啰嗦两句,如果你想把地图部分搞成一个组件,然后在父组件中引入的话,这样我觉得没得必要,【我师父说的,那我肯定要听话,事实证明师父是不会错的哈哈】原因很简单,父组件调用子组件的方法确实麻烦啊。而且还涉及到传参啊之类的

【步骤3】
在你当前组件的methods里面写方法来配置你的地图 (具体配置可以参考百度地图API文档示例demo
说简单点:直接粘贴复制过来自己改配置就行了
下面是我自己写的配置项

methods: {
   
	此处说明下,map我已经在data里面定义好了 为false,所以才是this.map  其主要目的就是后面的功能需要,
	你也可以直接在这里定义map
    myMap() {
   
      this.map = new BMapGL.Map("bdMap"); // 创建Map实例 注意要和你上面写的div的id名一样
      this.map.centerAndZoom(new BMapGL.Point(this.lng, this.lat), 12); // 初始化地图,设置中心点坐标和地图级别
      this.map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放
      //这里的配置很多,就不一一说明了,
    
  },
  mounted() {
   
  //最后需要在mounted钩子里面调一次你自己定义的方法
    this.myMap();
  },
  • 43
    点赞
  • 173
    收藏
    觉得还不错? 一键收藏
  • 23
    评论
以下是使用Vue脚手架编写登录页面的步骤: 1. 创建一个Vue项目并进入项目目录: ```shell vue create login-page cd login-page ``` 2. 安装Vue Router和Axios: ```shell npm install vue-router axios --save ``` 3. 在src目录下创建一个views目录,并在views目录下创建一个Login.vue文件,用于编写登录页面的代码: ```vue <template> <div> <h1>Login Page</h1> <form> <div> <label for="username">Username:</label> <input type="text" id="username" v-model="username"> </div> <div> <label for="password">Password:</label> <input type="password" id="password" v-model="password"> </div> <button type="submit" @click.prevent="login">Login</button> </form> </div> </template> <script> import axios from 'axios'; export default { data() { return { username: '', password: '' } }, methods: { login() { axios.post('/api/login', { username: this.username, password: this.password }) .then(response => { console.log(response.data); }) .catch(error => { console.log(error); }); } } } </script> ``` 4. 在src目录下创建一个router目录,并在router目录下创建一个index.js文件,用于配置路由: ```javascript import Vue from 'vue'; import VueRouter from 'vue-router'; import Login from '../views/Login.vue'; Vue.use(VueRouter); const routes = [ { path: '/', name: 'Login', component: Login } ]; const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }); export default router; ``` 5. 在src目录下创建一个api目录,并在api目录下创建一个index.js文件,用于封装API请求: ```javascript import axios from 'axios'; const apiClient = axios.create({ baseURL: 'http://localhost:3000', withCredentials: true, headers: { Accept: 'application/json', 'Content-Type': 'application/json' } }); export default { login(credentials) { return apiClient.post('/api/login', credentials); } } ``` 6. 在src目录下的main.js文件中引入路由和API,并将其挂载到Vue实例上: ```javascript import Vue from 'vue'; import App from './App.vue'; import router from './router'; import api from './api'; Vue.config.productionTip = false; Vue.prototype.$api = api; new Vue({ router, render: h => h(App) }).$mount('#app'); ``` 7. 在src目录下的App.vue文件中添加路由占位符: ```vue <template> <div id="app"> <router-view/> </div> </template> <script> export default { name: 'App' } </script> ``` 8. 运行项目并访问登录页面: ```shell npm run serve ``` 以上是使用Vue脚手架编写登录页面的步骤,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值