单张:如何绘制曲线?


17

因此,我试图在基于传单地图的应用程序中绘制曲线。

据我了解,Leaflet目前不支持绘制曲线,所以我的问题实际上更多地是关于如何最好地在其中获得曲线功能。

由于我的代码必须与IE-8兼容,因此问题变得更加棘手,这意味着纯SVG不能解决。(如果Leaflet检测到不存在SVG支持,则实际上会退回到VML。)

因此,一种可能性是我自己写一些基于SVG的传单扩展代码,并附带对VML的支持。这将是一项艰巨的工作。:/

有谁有更好的主张?


刚才意识到,我从未接受过答案。我之所以选择@dobrych,是因为Raphaël似乎是一个非常不错的库,并提供了不错的VML后备。我可能也会研究arc.js。
fgysin恢复Monica

Answers:


5

考虑到IE8支持要求,我们在表上没有太多选择。我只能记得一个具有VML后备功能的SVG库—Raphaël.js,因此您可以尝试这个针对Leaflet的Raphaël层插件实现。 https://github.com/dynmeth/RaphaelLayer 我自己没有尝试插件,但成功使用了Raphaël。希望您能找到它的用途。

这是工作示例(演示的图片链接)http://visualizingurbanfutures.com/2012/09/06/maps-with-raphael-js/

如果没有IE8要求,我将对Web GIS中的任何矢量使用D3。



3

制作自己的自定义层可能是解决该问题的一种解决方案。但是,是的,我同意这将是一项艰巨的工作。另一种选择是根据地理坐标绘制自己的曲线(贝塞尔曲线,b样条曲线或类似的曲线)。我不知道这样看起来是否不错,但我可以想象结果不会太差,而且可以肯定快很多。周围有很多针对此类算法的JS脚本。可能需要考虑将数据投影到类似UTM的计算中。

如果您发现水木清华。请告诉我们...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.