一.官网申请key
二.安装mapbox
npm install mapbox-gl
三.创建一个容器
四.添加一下代码:
<script>
export default {
name: "home",
data() {
return {
};
},
methods:{
init () {
mapboxgl.accessToken = ' 你的key' // 申请的key
var coordinates = document.getElementById('coordinates');
// console.log(container,'xxxxx')
// debugger
const map = new mapboxgl.Map({
container: this.$refs.basicMapbox,
style: 'mapbox://styles/mapbox/streets-v9',
center: [145.12031, -37.81844], // 设置地图中心
zoom: 13, // 设置地图比例
// color: "#FFFFFF",
// draggable: true
})
// 使用定位模块
map.addControl(new mapboxgl.GeolocateControl({
positionOptions: {
enableHighAccuracy: true
},
trackUserLocation: true,
showUserLocation: true,
zoom: 14,
}))
// 建立一个标记点
var marker = new mapboxgl.Marker({
draggable: true,
color:'red',
scale:1
})
function onDragEnd() {
var lngLat = marker.getLngLat();
coordinates.style.display = 'block';
coordinates.innerHTML = 'Longitude: ' + lngLat.lng + '<br />Latitude: ' + lngLat.lat;
}
marker.on('dragend', onDragEnd);
// 点击获取经纬度模块&点击标记点
map.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
}));
}
},
mounted() {
this.init()
},
}
</script>