canvas上地理坐标系与浏览器坐标系的转换

最近项目有个需要求是通过真实的地理坐标截取不规则多边形的形状,首先想到的就是Canvas上使用画笔勾画,先看效果:


地图上描点的

这是在地图软件上勾画的,下面是截取的:


canvas勾画的

本质是将坐标系转换后在canvas上描绘


其中coordinateListToCanvas就是canvas的坐标点

转换坐标系的代码如下  中间使用了一个过渡的坐标系优化计算


其中坐标系转换的时候用到了拉伸系数  而拉伸系数需要确定拉伸的方向再通过地理坐标的最大最小经纬度值和容器的长宽比确定。

完整代码如下

你可能感兴趣的:(canvas上地理坐标系与浏览器坐标系的转换)