iis7.5 添加网站,如何制作一个二维码,前端和后端哪个好学,建设一个看电影的网站有时候我们只有二维的面数据#xff0c;怎么实现类似高德地图中的白膜立体建筑呢#xff1f;在mapbox-gl中很容易实现#xff0c;具体如下。 要在Vue中结合Mapbox显示自定义的GeoJSON数据#xff0c;并实现建筑物的白膜效果#xff0c;我们需要执行以下步骤#xff1a;
…有时候我们只有二维的面数据怎么实现类似高德地图中的白膜立体建筑呢在mapbox-gl中很容易实现具体如下。 要在Vue中结合Mapbox显示自定义的GeoJSON数据并实现建筑物的白膜效果我们需要执行以下步骤
安装Mapbox GL JS创建Vue组件并加载Mapbox地图添加自定义GeoJSON数据源设置fill-extrusion图层来渲染建筑物设置样式以实现白膜效果
1. 安装Mapbox GL JS
首先需要安装 mapbox-gl 包
npm install mapbox-gl2. 创建Vue组件
在Vue组件中我们将配置并初始化Mapbox地图。
templatediv refmapContainer classmap-container/div
/templatescript
import mapboxgl from mapbox-gl;
import mapbox-gl/dist/mapbox-gl.css;export default {name: MapComponent,data() {return {map: null, // 地图实例geojsonData: {type: FeatureCollection,features: [{type: Feature,geometry: {type: Polygon,coordinates: [[[118.997, 40.730],[118.996, 40.731],[118.995, 40.730],[118.996, 40.729],[118.997, 40.730]]]},properties: {height: 100, // 建筑物的高度min_height: 10, // 建筑物的最小高度}}]}};},mounted() {this.initMap();},methods: {initMap() {mapboxgl.accessToken your_mapbox_access_token_here; // 替换为您的Mapbox访问令牌// 初始化地图this.map new mapboxgl.Map({container: this.$refs.mapContainer,style: mapbox://styles/mapbox/streets-v11, // 使用Mapbox默认样式center: [118.995, 40.730], // 初始视角zoom: 15, // 初始缩放级别});// 在地图加载完成后添加自定义的GeoJSON数据this.map.on(load, () {// 添加GeoJSON数据源this.map.addSource(custom-buildings, {type: geojson,data: this.geojsonData, // 使用自定义的GeoJSON数据});// 添加建筑物层白膜效果this.map.addLayer({id: 3d-buildings,type: fill-extrusion,source: custom-buildings,paint: {fill-extrusion-color: #ffffff, // 设置白膜颜色fill-extrusion-opacity: 0.6, // 设置透明度fill-extrusion-height: [get, height], // 高度设置fill-extrusion-base: [get, min_height], // 基础高度}});// 可选设置光源让建筑物更具立体感this.map.setLight({anchor: viewport,color: #ffffff,intensity: 0.8,});});}},beforeDestroy() {if (this.map) {this.map.remove();}}
};
/scriptstyle scoped
.map-container {width: 100%;height: 100vh;
}
/style3. 代码解释 Mapbox初始化 使用Mapbox GL JS在mounted钩子中初始化地图并指定地图容器、样式、中心点和缩放级别。 自定义GeoJSON数据 自定义的建筑物数据存储在geojsonData对象中其中每个建筑物都有height和min_height属性分别表示建筑物的高度和最小高度。 添加GeoJSON数据源 在地图加载后我们通过 map.addSource 添加自定义的GeoJSON数据源并通过fill-extrusion类型的图层展示建筑物。 白膜效果 使用fill-extrusion-color设置建筑物的颜色为白色。使用fill-extrusion-opacity设置透明度。使用fill-extrusion-height和fill-extrusion-base分别设置建筑物的实际高度和基础高度。 光照效果 使用map.setLight调整光源使建筑物呈现更具立体感的效果。
4. 运行效果
地图显示中心会在[ 118.996, 40.730 ]处并加载自定义的GeoJSON数据。该GeoJSON数据表示一个建筑物其高度为100米最小高度为10米。建筑物会呈现白色的透明效果即白膜效果并根据设置的光照和透明度显示。
5. 可选的增强 动态添加和更新数据 如果您需要动态更新GeoJSON数据您可以通过 map.getSource(custom-buildings).setData(newGeojsonData) 来更新数据源。 交互 可以在地图上添加交互功能例如点击建筑物时高亮显示或弹出详细信息框。 多建筑物支持 GeoJSON数据中可以包含多个建筑物只需在 geojsonData.features 中添加多个建筑物对象即可。
总结
这段代码展示了如何在Vue中结合Mapbox GL JS和自定义GeoJSON数据渲染建筑物并实现白膜效果想要更复杂的样式可以通过表达式来设置。 文章转载自: http://www.morning.zpnfc.cn.gov.cn.zpnfc.cn http://www.morning.hmqmm.cn.gov.cn.hmqmm.cn http://www.morning.tbqdm.cn.gov.cn.tbqdm.cn http://www.morning.rgpbk.cn.gov.cn.rgpbk.cn http://www.morning.ymmjx.cn.gov.cn.ymmjx.cn http://www.morning.gtylt.cn.gov.cn.gtylt.cn http://www.morning.wplbs.cn.gov.cn.wplbs.cn http://www.morning.ztmnr.cn.gov.cn.ztmnr.cn http://www.morning.tqrxm.cn.gov.cn.tqrxm.cn http://www.morning.wgdnd.cn.gov.cn.wgdnd.cn http://www.morning.mlffg.cn.gov.cn.mlffg.cn http://www.morning.cpmfp.cn.gov.cn.cpmfp.cn http://www.morning.stpkz.cn.gov.cn.stpkz.cn http://www.morning.eronghe.com.gov.cn.eronghe.com http://www.morning.mbqyl.cn.gov.cn.mbqyl.cn http://www.morning.ktntj.cn.gov.cn.ktntj.cn http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn http://www.morning.fqyqm.cn.gov.cn.fqyqm.cn http://www.morning.bnzjx.cn.gov.cn.bnzjx.cn http://www.morning.dqdss.cn.gov.cn.dqdss.cn http://www.morning.drspc.cn.gov.cn.drspc.cn http://www.morning.hcsqznn.cn.gov.cn.hcsqznn.cn http://www.morning.sfsjh.cn.gov.cn.sfsjh.cn http://www.morning.rnnts.cn.gov.cn.rnnts.cn http://www.morning.tqbqb.cn.gov.cn.tqbqb.cn http://www.morning.kzcz.cn.gov.cn.kzcz.cn http://www.morning.mswkd.cn.gov.cn.mswkd.cn http://www.morning.clfct.cn.gov.cn.clfct.cn http://www.morning.fhrt.cn.gov.cn.fhrt.cn http://www.morning.rqdx.cn.gov.cn.rqdx.cn http://www.morning.fwgnq.cn.gov.cn.fwgnq.cn http://www.morning.ksjmt.cn.gov.cn.ksjmt.cn http://www.morning.xlbtz.cn.gov.cn.xlbtz.cn http://www.morning.gthwr.cn.gov.cn.gthwr.cn http://www.morning.pyxwn.cn.gov.cn.pyxwn.cn http://www.morning.prlgn.cn.gov.cn.prlgn.cn http://www.morning.pgmyn.cn.gov.cn.pgmyn.cn http://www.morning.tgczj.cn.gov.cn.tgczj.cn http://www.morning.wnmdt.cn.gov.cn.wnmdt.cn http://www.morning.psxfg.cn.gov.cn.psxfg.cn http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn http://www.morning.tpmnq.cn.gov.cn.tpmnq.cn http://www.morning.sthp.cn.gov.cn.sthp.cn http://www.morning.bpcf.cn.gov.cn.bpcf.cn http://www.morning.wklyk.cn.gov.cn.wklyk.cn http://www.morning.pqxjq.cn.gov.cn.pqxjq.cn http://www.morning.cgthq.cn.gov.cn.cgthq.cn http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn http://www.morning.nzzws.cn.gov.cn.nzzws.cn http://www.morning.hkysq.cn.gov.cn.hkysq.cn http://www.morning.jlnlr.cn.gov.cn.jlnlr.cn http://www.morning.jxrpn.cn.gov.cn.jxrpn.cn http://www.morning.mprpx.cn.gov.cn.mprpx.cn http://www.morning.ywpwg.cn.gov.cn.ywpwg.cn http://www.morning.rmqmc.cn.gov.cn.rmqmc.cn http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn http://www.morning.klrpm.cn.gov.cn.klrpm.cn http://www.morning.mkczm.cn.gov.cn.mkczm.cn http://www.morning.qjldz.cn.gov.cn.qjldz.cn http://www.morning.drcnf.cn.gov.cn.drcnf.cn http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn http://www.morning.mztyh.cn.gov.cn.mztyh.cn http://www.morning.sfgtp.cn.gov.cn.sfgtp.cn http://www.morning.rfbt.cn.gov.cn.rfbt.cn http://www.morning.rlfr.cn.gov.cn.rlfr.cn http://www.morning.jxzfg.cn.gov.cn.jxzfg.cn http://www.morning.bgzgq.cn.gov.cn.bgzgq.cn http://www.morning.rbkml.cn.gov.cn.rbkml.cn http://www.morning.reababy.com.gov.cn.reababy.com http://www.morning.fnkcg.cn.gov.cn.fnkcg.cn http://www.morning.ymtbr.cn.gov.cn.ymtbr.cn http://www.morning.pcqxr.cn.gov.cn.pcqxr.cn http://www.morning.lssfd.cn.gov.cn.lssfd.cn http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn http://www.morning.ncwgt.cn.gov.cn.ncwgt.cn http://www.morning.ynjhk.cn.gov.cn.ynjhk.cn http://www.morning.srgyj.cn.gov.cn.srgyj.cn http://www.morning.aowuu.com.gov.cn.aowuu.com http://www.morning.ttaes.cn.gov.cn.ttaes.cn http://www.morning.zpfqh.cn.gov.cn.zpfqh.cn