我目前正在将为OpenLayers创建的特殊动态图层类型从OL2迁移到OL3。该图层显示正在预定义轨迹上移动的标记(它们的批次,通常约为1000)。轨迹从服务器以特殊的JSON格式加载。
我目前对OL2的方法非常高效,大大优化并使用Raphael库(http://raphaeljs.com/)。一般应用程序布局如下所示:
这种方法非常有效,因为Raphael支持较旧的IE版本,它也可以在IE8和IE7中运行。它还使我能够提供基于Raphaels内置动画方法的动画。
我现在正在尝试将此应用程序迁移到OL3,我并不是100%确定最佳方法是什么。 OL3加载OL3后是否可以添加自定义图层?如果是的话,有没有文件?我尝试实现我自己的VectorLayer版本,但OL3抛出了大量与Closure API提供的goog对象相关的错误。
更一般地说:重新创建我的旧方法并在OL3上绘制Raphael图层会更好吗?这种方法可以让我重用我以前的大部分代码。或者我应该使用OL3提供的方法直接在HTML5画布上绘制?如果是这样,我如何获得画布刷新率的控制权?
我看了http://ol3js.org/en/vector-api/examples/dynamic-data.html?q=dynamic的示例,但它并没有真正满足我的需求。标记在无限循环中动画,我需要对刷新率进行特定控制。更一般地说,如何防止在OL3自己的画布刷新之一上删除我的标记(例如,如果加载了新的图块)。
我对OL3的总体印象是,添加自己的扩展比使用OL2更难,OL2对我来说比OL3更“开放”。
感谢您的帮助!
答案 0 :(得分:0)
请注意,OL3并不适用于IE7或其他旧版本的'浏览器。 据我所知,OL3是为性能而构建的,并且具有快速矢量渲染。 它还与d3集成,因此它可能与其他技术集成。