【发布时间】:2012-07-15 09:11:18
【问题描述】:
我正在使用 Raphael JS 显示可滚动、可缩放的世界地图,效果很好。但是地球的任何二维表示都会被扭曲。如果可能的话,我想改变地图,使顶部和底部被夹住,使地图至少更能代表一个地球。是否有可能使用拉斐尔矩阵来实现这种效果,或者通过更深入地对其进行手动转换来实现?
【问题讨论】:
我正在使用 Raphael JS 显示可滚动、可缩放的世界地图,效果很好。但是地球的任何二维表示都会被扭曲。如果可能的话,我想改变地图,使顶部和底部被夹住,使地图至少更能代表一个地球。是否有可能使用拉斐尔矩阵来实现这种效果,或者通过更深入地对其进行手动转换来实现?
【问题讨论】:
您无法使用 Raphael 的变换(或 SVG 的原生矩阵变换)实现此效果。 Raphael 是一个出色的矢量绘图库,但尝试在其上使用地图有点类似于在应该使用 GIS 时使用 Illustrator,可能但并不理想。
如果您可以承受失去 IE 8 =d3.js 是一个支持地理投影的 SVG 可视化库。看看这个演示http://mbostock.github.com/d3/talk/20111018/azimuthal.html
否则,我建议您获取具有更适合您需求的投影的地图来源,例如 http://en.wikipedia.org/wiki/File:BlankMap-World6.svg。但是,将 lon lat 转换为像素会更加困难。
【讨论】: