2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 【Vue+Mapbox】Vue中mapbox地图的使用(二)—— 自定义Geojson地图数据

【Vue+Mapbox】Vue中mapbox地图的使用(二)—— 自定义Geojson地图数据

时间:2023-01-06 17:27:40

相关推荐

【Vue+Mapbox】Vue中mapbox地图的使用(二)—— 自定义Geojson地图数据

很多时候,我们在使用地图的时候,用的并不是mapbox提供的底图,而是我们自己的数据。

这里以Geojson(json)数据为例。

STEP 1 (数据定义)

将自己的数据加载,同时赋予名称。

import CHINAMAP from '@/assets/mapdata/china.json'

STEP 2 (创建空地图容器)

既然是使用mapbox,那么首先需要创建一个地图容器,但是由于我们不使用mapbox底图,因此,与普通创建mapbox地图的区别在于style,这一参数的定义。

(其余配置参考系列文章一)

var map = new this.$mapboxgl.Map({container: "map",style: {version: 8,sources: {},layers: [{id: "background",type: "background",layout: {},paint: {"background-color": ["interpolate",["linear"],["zoom"],5,"hsl(38, 43%, 89%)",7,"hsl(38, 48%, 86%)",],},},],},zoom: 5,center: [109, 38],});

STEP 3 (加载数据)

mapbox中加载资源所使用,map.on(){'load',}函数。

首先加载资源,再加载图层,即可。

map.on('load',function(){map.addSource('states', {'type': 'geojson','data': CHINAMAP});map.addLayer({'id': 'china_map','type': 'fill','source': 'states','paint': {'fill-color':'#0080ff','fill-outline-color': '#4f4f4f','fill-opacity':['case',['boolean', ['feature-state', 'hover'], false],1,0.8]}});})

结果展示:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。