基础知识系列(七):Vue3结合Mapbox

1.pnpm create vue

2.创建.env文件,其中写VITE_MAPBOX_TOKEN=''

3.pnpm i mapbox-gl

4.pnpm i

5.在App.vue中,写

<template>
  <div id="map"></div>
</template>

<script setup>
import mapboxgl from "mapbox-gl";
import 'mapbox-gl/dist/mapbox-gl.css';
import { onMounted } from "vue";
const TOKEN = import.meta.env.VITE_MAPBOX_TOKEN;
mapboxgl.accessToken = TOKEN;
onMounted(() => {
  const map = new mapboxgl.Map({
    container: "map", // container ID
    style: "mapbox://styles/mapbox/streets-v12", // style URL
    center: [114.30, 30.50], // starting position [lng, lat]
    zoom: 9, // starting zoom
  });
});
</script>

<style scoped>
#map {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
</style>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3 可以使用 Mapbox GL JS 库来显示地图,可以按照以下步骤实现: 1. 安装 Mapbox GL JS 库 使用 npm 或者 yarn 安装: ``` npm install mapbox-gl ``` 或者 ``` yarn add mapbox-gl ``` 2. 在 Vue 3 中引入 Mapbox GL JS 库 在 Vue 3 中使用 Mapbox GL JS 库需要在组件中引入,可以在组件的 `setup` 方法中使用 `import` 引入: ```javascript import mapboxgl from 'mapbox-gl'; export default { setup() { // ... }, } ``` 3. 创建地图容器 在 `setup` 方法中创建地图容器: ```javascript import { ref, onMounted } from 'vue'; import mapboxgl from 'mapbox-gl'; export default { setup() { const mapContainer = ref(null); onMounted(() => { const map = new mapboxgl.Map({ container: mapContainer.value, style: 'mapbox://styles/mapbox/streets-v11', center: [-74.5, 40], zoom: 9, }); }); return { mapContainer, } }, } ``` 在上面的代码中,`mapContainer` 是一个 ref,用来引用地图容器的 DOM 元素,在 `onMounted` 钩子函数中创建地图,设置了容器、地图样式、中心点坐标和缩放级别。 4. 在模板中使用地图容器 在模板中使用 `div` 元素作为地图容器: ```html <template> <div ref="mapContainer"></div> </template> ``` 在上面的代码中,`ref` 绑定了 `mapContainer` 变量,这个变量是在 `setup` 方法中定义的。 5. 完整代码示例 ```html <template> <div ref="mapContainer"></div> </template> <script> import { ref, onMounted } from 'vue'; import mapboxgl from 'mapbox-gl'; export default { setup() { const mapContainer = ref(null); onMounted(() => { const map = new mapboxgl.Map({ container: mapContainer.value, style: 'mapbox://styles/mapbox/streets-v11', center: [-74.5, 40], zoom: 9, }); }); return { mapContainer, } }, } </script> <style> #mapContainer { width: 100%; height: 400px; } </style> ``` 在上面的代码中,`#mapContainer` 是地图容器的 CSS 样式,设置了宽度和高度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值