mapbox中文地图_vue 集成mapbox gl并设置中文语言

该博客介绍了如何在Vue应用中集成Mapbox GL,并详细步骤设置为中文语言。首先通过npm安装所需依赖,包括deck.gl、mapbox-gl和mapbox-gl-language。然后在初始化Mapbox GL时,使用setRTLTextPlugin加载中文插件,并设置地图的中心位置、缩放级别。接着添加MapboxLanguage控件以设定默认语言为中文,同时添加地图导航、比例尺、全屏和定位控制。
摘要由CSDN通过智能技术生成

// npm install deck.gl --save

npm install --save mapbox-gl

// 安装语言包

npm install --save mapbox-gl @mapbox/mapbox-gl-language

import mapboxgl from "mapbox-gl";

import MapboxLanguage from '@mapbox/mapbox-gl-language'

export default {

props: {

mapWidth: {

type: String

},

mapHeight: {

type: String

}

},

data() {

return {};

},

mounted() {

this.init();

},

methods: {

// 初始化

init() {

mapboxgl.accessToken =

"pk.eyJ1IjoiYW56aGlodW4iLCJhIjoiY2lsdnhjdjN5MDFvMHVia3NpYTlnbmUzaSJ9.twlExCjpR7uwH2IiFC7aDA";

// 英文标注转换为中文

mapboxgl.setRTLTextPlugin(

"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.1.0/mapbox-gl-rtl-text.js"

);

const map = new mapboxgl.Map({

container: this.$refs.basicMapbox,

style: "mapbox://styles/mapbox/streets-v9",

center: [114, 38.54],

zoom: 6

});

// 设置语言

var language = new MapboxLanguage({ defaultLanguage: "zh" });

map.addControl(language);

// 地图导航

var nav = new mapboxgl.NavigationControl();

map.addControl(nav, "top-left");

// 比例尺

var scale = new mapboxgl.ScaleControl({

maxWidth: 80,

unit: "imperial"

});

map.addControl(scale);

scale.setUnit("metric");

// 全图

map.addControl(new mapboxgl.FullscreenControl());

// 定位

map.addControl(

new mapboxgl.GeolocateControl({

positionOptions: {

enableHighAccuracy: true

},

trackUserLocation: true

})

);

// console.log(map)

}

},

computed: {

mapSize() {

let styleObj = {

width: this.mapWidth,

height: this.mapHeight

};

return styleObj;

}

}

};

@import url("https://api.tiles.mapbox.com/mapbox-gl-js/v0.51.0/mapbox-gl.css");

.mapboxgl-map {

height: 100%;

width: 100%;

}

CSS引入

标签中

或者

import 'mapbox-gl/dist/mapbox-gl.css'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值