地图绘制初探——基于maptalks的2.5D地图绘制

本文介绍了一种使用maptalks库绘制2.5D地图的方法,通过地图底图、GeoJson数据、设置高度面和视角偏移实现。通过数据和样式处理,如去除县市边界,自定义地图样式,以及使用mapshaper处理地理数据,创建出具有交互性的伪3D贵州省地图。
摘要由CSDN通过智能技术生成

进行图形可视化,难免会遇到地理数据的可视化需求。通常情况下,直接使用echarts对配置项进行处理,就可以满足大部分需求。当然,更加复杂的定制化需求,可能就需要借助d3、Three.js等工具。如果对详细的地图背景有要求的话,又需要将图形库与leaflet、maptalks等地图引擎相结合。
不过也许你的需求和我一样,没有那么复杂的交互需求,但对显示效果却有一些想法。那么就可以尝试阅读本文,使用一种比较偷懒的方法,仅基于maptalks本身,来绘制可交互的伪3d地图。
下面,以贵州省的伪3d地图为例,进行代码的编写和相应数据的简单处理。
图片描述
1.基本的地图绘制
maptalks(maptalks的git)的官方范例写得相当亲切,我们可以从中找到所有绘制伪3d地图需要的元素。
首先,从地图底图开始。(官方入门示例

initMapTalk() {
  let map = new maptalks.Map('mapDom', {
    center: [121.345, 31.2088],
    zoom: 9,
    baseLayer: new maptalks.TileLayer('base', {
      urlTemplate: 'http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
      subdomains: ['a','b','c','d'],
      attribution: '&copy; <a href="http://osm.org">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/">CARTO</a>'
    })
  });
}

需要注意的是,除了maptalks.js以外,maptalks.css也是必须引入的。

然后,我们需要借助maptalks.Polygon添加一些地图区块(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值