首页IT科技vue调用百度地图api(前端系列——vue2+高德地图web端开发(使用和引入))

vue调用百度地图api(前端系列——vue2+高德地图web端开发(使用和引入))

时间2025-05-06 00:38:41分类IT科技浏览3109
导读:前言 本人非专业前端开发,其实是搞后端的,但是正好接了一个项目需要我负责全栈,所以写了这个系列的文章,如果以后项目可以开源我会放出来的...

前言

本人非专业前端开发            ,其实是搞后端的                 ,但是正好接了一个项目需要我负责全栈     ,所以写了这个系列的文章         ,如果以后项目可以开源我会放出来的

本次我们要实现的是vue2+高德地图的网页开发

基础

本文需要大家系统学过vue以及初步了解高德地图的情况下理解起来会十分省力

准备工作

高德地图的个人开发者注册

高德api网址

https://lbs.amap.com

1.点击进行注册

2.注册完之后进入控制台

3.创建新应用

4.添加

选择Web端后

高德 2.0 新增

按照步骤全部弄好之后就完成了注册

最后你会获得你注册的key和安全密钥                  ,是我们后面使用的关键

创建vue2的项目

创建项目上我想应该不用怎么交了吧

vue create XXXXx cd XXXXx npm run serve

npm 引入高德

官方文档

https://lbs.amap.com/api/jsapi-v2/guide/webcli/map-vue1

1.安装

打开windows powershell 管理员权限

2.进入项目

3. NPM 方式安装使用 Loader

npm i @amap/amap-jsapi-loader --save

4.在component目录下新建MapContainer.vue

5.编写基础页面结构

div的id是你要自定的        ,叫什么无所谓但是后面地图初始化的时候需要用到      ,你只要注意一下就可以

<template> <div id="container"></div> </template> <script> export default { } </script> <style lang="less" scoped> #container { padding: 0px; margin: 0px; width: 100%; height: 100%; } </style>

6. 在< script >中引入AMapLoader

6.1 import

<script> import AMapLoader from @amap/amap-jsapi-loader export default { } </script>

6.2 引入安全密钥

window._AMapSecurityConfig = { securityJsCode: 你的安全密钥 }

完整代码

<script> import AMapLoader from @amap/amap-jsapi-loader window._AMapSecurityConfig = { securityJsCode: 你的安全密钥 } export default { } </script>

7.构建地图

7.1data数据声明

data(){ return { map:null } }

7.2methods中构建初始化地图方法

methods:{ initMap(){ AMapLoader.load({ key:"", // 申请好的Web端开发者Key                  ,首次调用 load 时必填 version:"2.0", // 指定要加载的 JSAPI 的版本           ,缺省时默认为 1.4.15 plugins:[], // 需要使用的的插件列表   ,如比例尺AMap.Scale等 }).then((AMap)=>{ this.map = new AMap.Map("container",{ //设置地图容器id viewMode:"3D", //是否为3D地图模式 zoom:5, //初始化地图级别 center:[105.602725,37.076636], //初始化地图中心点位置 }); }).catch(e=>{ console.log(e); }) }, },

7.3mouted生命周期中调用方法对页面进行渲染

mounted() { //DOM初始化完成进行地图初始化 this.initMap() } }

完整代码

<template> <div id="container"></div> </template> <script> import AMapLoader from @amap/amap-jsapi-loader window._AMapSecurityConfig = { securityJsCode: 你的安全密钥 } export default { data() { return { map: null } }, methods: { initMap() { AMapLoader.load({ key: , // 申请好的Web端开发者Key                  ,首次调用 load 时必填 version: 2.0, // 指定要加载的 JSAPI 的版本              ,缺省时默认为 1.4.15 plugins: [] // 需要使用的的插件列表,如比例尺AMap.Scale等 }) .then(AMap => { this.map = new AMap.Map(container, { //设置地图容器id viewMode: 3D, //是否为3D地图模式 zoom: 10, //初始化地图级别 center: [121.473667, 31.230525] //初始化地图中心点位置 }) }) .catch(e => { console.log(e) }) } }, mounted() { //DOM初始化完成进行地图初始化 this.initMap() } } </script> <style lang="less"> #container { padding: 0px; margin: 0px; width: 100%; height: 100%; } </style>

vue使用

在我们需要的组件中导入使用MapContainer.vue即可

<template> <div> <map-container></map-container> </div> </template> <script> import MapContainer from "@/components/MapContainer/MapContainer"; export default { components: {MapContainer} } </script>

结果展示

声明:本站所有文章               ,如无特殊说明或标注                 ,均为本站原创发布           。任何个人或组织   ,在未征得本站同意时            ,禁止复制            、盗用                 、采集     、发布本站内容到任何网站         、书籍等各类媒体平台                 。如若本站内容侵犯了原著者的合法权益                 ,可联系我们进行处理      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
vue的input设置不能输入负数(Vue中@change、@input和@blur的区别以及什么是@keyup)