1. 本地创建vue.js项目

cmd或者terminal中运行下面的命令开出vue project manager,之后按照所需要配置创建vue.js项目

vue ui


2. 在mapbox官网上申请key

访问mapbox官网,登录或注册账号,之后会得到一个免费的access token key来调用api服务

3. 项目中安装mapbox

使用Intellij IDEA或其他IDE打开我们之前创建好的vue.js项目,之后在terminal中输入下面的命令在项目中配置mapbox module

npm install mapbox-gl

4. 代码测试使用

在项目中成功配置好mapbox之后,我们将在App.vue中进行代码测试

<template><div id="app"><div style="height:500px;width:50%;text-align:left;"><div ref="mapbox" style="height:500px;width:100%;"></div><pre id='info'></pre><pre id='coordinates' class='coordinates'></pre></div></div>
</template><script>import mapboxgl from 'mapbox-gl'export default {data () {return {}},mounted () {this.init()},methods: {// initializationinit () {// access token from mapboxmapboxgl.accessToken = 'access token'var coordinates = document.getElementById('coordinates');// initialize mapconst map = new mapboxgl.Map({// refs tag for accessing the DOM element in the codecontainer: this.$refs.mapbox,style: 'mapbox://styles/mapbox/streets-v9',center: [12.550343, 55.665957],zoom: 8,})// 使用定位模块map.addControl(new mapboxgl.GeolocateControl({positionOptions: {enableHighAccuracy: true},trackUserLocation: true,showUserLocation: true,zoom: 14,}))// create a draggable makervar marker = new mapboxgl.Marker({draggable: true}).setLngLat([12.550343, 55.665957]).addTo(map);// defend a method for dragging the markerfunction onDragEnd() {console.log("test11")var lngLat = marker.getLngLat();coordinates.style.display = 'block';coordinates.innerHTML = 'Longitude: ' + lngLat.lng + '<br />Latitude: ' + lngLat.lat;}// bind the onDragEnd method with the markermarker.on('dragend', onDragEnd);// click map to set the location of the marker// map onclick eventmap.on('click', function (e) {document.getElementById('info').innerHTML = JSON.stringify(e.point) + '<br />' + JSON.stringify(e.lngLat)marker.setLngLat([e.lngLat.lng,e.lngLat.lat]).addTo(map)})map.addControl(new mapboxgl.MapboxGeocoder({accessToken: mapboxgl.accessToken}));}}}
</script><style>@import "https://api.tiles.mapbox.com/mapbox-gl-js/v1.1.1/mapbox-gl.css";#app {font-family: 'Avenir', Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;}.coordinates {background: rgba(0,0,0,0.5);color: #fff;position: absolute;bottom: 10px;left: 10px;padding:5px 10px;margin: 0;font-size: 11px;line-height: 18px;border-radius: 3px;display: none;}body { margin:0; padding:0; }#map { position:absolute; top:0; bottom:0; width:100%; }p {font-family: 'Open Sans';margin: 0;font-size: 13px;}</style>

之后在terminal或cmd运行如下命令启动项目即可访问

npm run serve

参考文档

  1. vue需要使用全球地图解决方案 mapbox的使用 - csdn
  2. mapbox 官方文档

vue.js项目中配置mapbox可视化地图api相关推荐

  1. html调用腾讯地图定位当前位置,vue web项目中调用腾讯地图API获取当前位置的经纬度...

    vue web项目中调用腾讯地图API获取当前位置的经纬度 vue web项目中调用腾讯地图API获取当前位置的经纬度 在main.js 中添加一下代码 import axios from 'axio ...

  2. 多个html如何套用套一个头部,Vue.js项目中管理每个页面的头部标签的两种方法...

    在 Vue SPA 应用中,如果想要修改 HTML 的头部标签,如页面的 title ,我们只能去修改 index.html 模板文件,但是这个是全局的修改,如何为每个页面都设置不一样的 title ...

  3. Vue.JS项目中二级路由下刷新浏览器仍呈现当前路由的实现方案

    1.需求介绍: 以下介绍一下实现起来没什么疑问的需求:设备列表为一个主页,点击设备列表中的编辑按钮,进入设备信息主页面,默认打开设备配置页,点击设备状态.设备日志.固件升级,会切换下方内容. 本人对以 ...

  4. vue.js项目中,关于element-ui完整引入、按需引入的介绍

    element-ui引入方式,简单说来有两种:完整引入.按需引入 首先谈一下npm安装element-ui的方法: cmd到项目目录,然后执行cmd命令:npm i element-ui -S稍等片刻 ...

  5. Vue.js项目中,当图片无法显示时则显示默认图片

    Vue.js项目中,当图片无法显示时则显示默认图片使用onerror方法 最近在学习Vue时,遇到了一个问题,就是从后台传过来的图片路径无效时,需要在页面显示默认图片 本人试了3种方法,2种方法失败了 ...

  6. 在 Nuxt.js 和 Vue.js 项目中引入第三方字体或艺术字

    一.需求分析 在我们写前端页面的时候,大部分时候是不需要用到第三方字体的,但如果是面向C端的页面,比如宣传页,就有可能会引入第三方字体,主要还是看UI设计师咋想了,此时我们可以通过让UI将特殊字体切成 ...

  7. Vue 3.0 中配置原生高德地图

    直接引用高德地图 SDK 1.在根目录 public 文件夹下的 index.html 中加入 <script type="text/javascript" src=&quo ...

  8. VUE.js项目中控制台报错: Uncaught (in promise) NavigationDuplicated解决方法

    问题愿意:依赖包中vue-router出现问题(猜测为版本问题): 解决方法:在项目目录下运行 npm i vue-router@3.0 -S 这条指令就可以解决了.(更换版本) 或者在main.js ...

  9. Vue.JS项目输入框中使用v-model导致number类型值自动转换成string问题的解决方案

    老文章了,目前用el-input v-model.number就能解决 很简单的操作,不知道当初在做什么,下文请直接忽略- Vue.JS项目中v-model导致输入框中number类型值自动转换成st ...

最新文章

  1. 根据xml 文件生成 xsd文件 以及相关测试方法
  2. windows查看python安装的库_Python第三方库face_recognition在windows上的安装过程
  3. android中xml文件的生成与读取(Pull)
  4. TRIZ发明问题解决理论——本质是分析问题中的矛盾,利用资源(时间空间物质能量功能信息等)来解决矛盾从而解决问题——抽象出来:问题是什么,为什么?...
  5. jquery控制只监听数字_JQuery通过一个开关来控制某个元素的监听
  6. phpstudy更改但是php版本没变
  7. 人声处理_10款免费的人声处理工具
  8. android手机设置时间设置,如何设置电信定制手机日期与时间
  9. 408业务课·计算机网络——【考研随笔】之一
  10. Intellij idea 自动生成serialVersionUID
  11. rpc 服务器不可用_什么是远程过程调用RPC
  12. python安装robotframework报错_Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
  13. Matplotlib作业3
  14. oracle 11g proc c,Solaris 10下 Oracle 11G proc 的C程序示例
  15. 利用Multisim快速分析一个RC电路
  16. 无法上网之NOD32
  17. android scrollview 动态添加,使用Scrollview和LinearLayout动态添加布局
  18. 【leetcode】1041. Robot Bounded In Circle
  19. 软考论文写作方法及规范
  20. 针对谷粒商城P46 验证码图片加载出来错误503

热门文章

  1. 2022年度游戏本行业数据报告:十大热门品牌销量排行榜
  2. 用计算机弹梦想天空分外蓝,梦想天空分外蓝作文
  3. 计算机科学与技术创新实验班是什么意思,我院开办计算机科学与技术专业创新人才实验班...
  4. 世界上最短的DVD解码程序(附源码)
  5. 加拿大保守党参议员推特账户被黑,个人信息遭曝光
  6. 怎么修改手游服务器玩家等级上限,《梦幻西游》手游服务器等级限制 如何快速升级...
  7. yepnope.js – 异步加载资源文件
  8. 什么是 ChatGPT ?
  9. Flink - CEP 实时分用户析攻击行为
  10. 呼叫中心okcc电话呼叫软件自动连续呼叫设置