vue调用百度地图api(前端系列——vue2+高德地图web端开发(使用和引入))
导读:前言 本人非专业前端开发,其实是搞后端的,但是正好接了一个项目需要我负责全栈,所以写了这个系列的文章,如果以后项目可以开源我会放出来的...
前言
本人非专业前端开发 ,其实是搞后端的 ,但是正好接了一个项目需要我负责全栈 ,所以写了这个系列的文章 ,如果以后项目可以开源我会放出来的
本次我们要实现的是vue2+高德地图的网页开发基础
本文需要大家系统学过vue以及初步了解高德地图的情况下理解起来会十分省力
准备工作
高德地图的个人开发者注册
高德api网址
https://lbs.amap.com
1.点击进行注册
2.注册完之后进入控制台
3.创建新应用
4.添加
选择Web端后
高德 2.0 新增
按照步骤全部弄好之后就完成了注册
最后你会获得你注册的key和安全密钥 ,是我们后面使用的关键
创建vue2的项目
创建项目上我想应该不用怎么交了吧
vue create XXXXx cd XXXXx npm run servenpm 引入高德
官方文档
https://lbs.amap.com/api/jsapi-v2/guide/webcli/map-vue1
1.安装
打开windows powershell 管理员权限
2.进入项目
3. NPM 方式安装使用 Loader
npm i @amap/amap-jsapi-loader --save4.在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版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!