我正在使用 Raphael JS 显示可滚动、可缩放的世界地图,效果很好。但是地球的任何二维表示都会被扭曲。如果可能的话,我想改变地图,使顶部和底部被夹住,使地图至少更能代表一个地球。是否有可能用拉斐尔矩阵实现这样的效果,或者通过更深入地插入手动转换来实现?
问问题
648 次
1 回答
3
您无法使用 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 转换为像素会更加困难。
于 2012-07-17T14:49:14.913 回答