我一直在尝试如何将导航控件添加到我的地图中,该窗口不会出现,并且当我看到控制台时,它不会引发任何错误。这是我的代码,来自Mapbox GL JS文档:
<template>
<div>
<div id="map" class="map">
</div>
</div>
</template>
<script>
/* eslint-disable */
export default {
computed: {
location () {
// eslint-disable-next-line no-console
console.log(this.$store.state.location)
return location
}
},
mounted () {
this.createMap()
// document.querySelector('.mapboxgl-ctrl-geocoder input').focus()
},
methods: {
createMap () {
const mapboxgl = require('mapbox-gl')
const MapboxGeocoder = require('@mapbox/mapbox-gl-geocoder')
mapboxgl.accessToken = 'pk.eyJ1IjoicGlucGFydGRldiIsImEiOiJjajBqOXh0anAwMDFkMzNwbW5qMzVuZGo0In0.ltvQzboVtprxfeFAVOw1GA'
// init the map
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/ximenabc/ck44uqzs21gk71cmtma66htry',
center: [-96.707, 17.065], // starting position [lng(-180, 180), lat(-90, 90)]
zoom: 15,
pitch: 0,
minZoom: 2,
maxZoom: 20,
attributionControl: false,
showCompass: true
})
map.addControl(new mapboxgl.NavigationControl())
this.MapboxGeocoder = new MapboxGeocoder({
accessToken: [MY-ACCESS-TOKEN],
marker: true
})
// mapboxgl.addLayer({
// id: 'points'
// type: 'circle'
// })
// var marker = new mapboxgl.Marker({
// draggable: true
// })
// .setLngLat([-96.707, 17.065])
// .addTo(map);
// marker.on('dragend', onDragEnd);
},
}
}
</script>
<style>
#map {
max-height: 20cm;
min-height: 15cm;
}
</style>
如您所见,我也尝试添加一些要点,但是没有用。我正在与Nuxt btw合作
好吧,问题在于您还没有包含Mapbox的CSS。导航器控件存在但不可见。
您可以在</script>
上方的底部添加此内容>
import 'mapbox-gl/dist/mapbox-gl.css';
如果不起作用,请将其添加到您的index.html
:
<link href="https://api.mapbox.com/mapbox-gl-js/v1.6.1/mapbox-gl.css" rel="stylesheet" />