3.透过现象看本质-webgl加载geojson

该文章介绍了如何利用HTML5的canvas元素结合GeoJSON数据来绘制地图。首先获取GeoJSON数据,然后通过canvas的2D渲染上下文绘制地图,包括坐标转换、设置路径、填充颜色和处理缩放、平移等交互功能。同时,文章还涉及到了鼠标滚轮事件用于地图的缩放以及鼠标点击和拖动事件来实现地图的平移。

通过canvas加载geojson深入解析添加矢量数据本质

// 自行获取json数据
const [state, rs, err] = await getData('./sx.json')
//公共数据
let canvas = document.getElementById('canvas');
let ctx = canvas.getContext("2d"); // canvas元素的contex对象
let width = window.innerWidth; // 画布宽度
let height = window.innerHeight; // 画布高度
canvas.width = width;
canvas.height = height;
let center = [108, 36]
let scale = 100
let zoom = 5
let zooms = {
   
   
    5: 100,
    6: 110,
    7: 130,
    8: 170,
    9: 250,
    10: 410,
    11: 730,
    12: 1470,
    13: 2600,
    14: 5000,
    15: 10000,
    16: 20000,
    17: 40000
}
// 坐标转换
function coordTrans(coord, center) {
   
   
    // coord和center传入的都要是原始经纬度坐标
    // 经纬度坐标,纬度大的点在canvas的坐标系中会处于下方,而现实中应该处于上方,
    // 所以对所有点纬度坐标进行取反修正
    coord = [coord[0], -coord[1]<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

紫雪giser

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值