jet*_*hro 5 javascript openlayers
在这种情况下,我使用OpenLayers 2.10中的Map控件.在地图上的我有基体层,其是和用自定义功能.现在,当我使用鼠标移动地图时,以前不可见的功能将不会重新绘制,直到释放鼠标按钮.我在所有例子中都注意到了同样的问题.任何人都可以提供某种改变这种行为的工作吗?我想要实现的是在功能变得可见之后立即绘制功能或者总是绘制所有功能(我使用少量功能,因此地图控制的性能并不重要).OpenLayers.Layer.OSMOpenLayers.Layer.VectorOpenLayers
我目前的想法是处理地图上的一些特定事件(如点击鼠标移动)和强制功能重绘.
所述SVG2渲染器,在引入V2.11,然后立即弃用在V2.12为了可靠性的原因(参见此拉请求).对于OL> = 2.12,设置图层的ratio属性,使其在更宽的区域内渲染所有要素,作为屏幕尺寸的比例.权衡是性能,如果您的用户在某个方向"抛出"他们的地图,他们将飞过这些功能,但在那时他们可能会有一些渲染延迟.
new OpenLayers.Layer.Vector("My Layer", {
ratio: 2
});
Run Code Online (Sandbox Code Playgroud)
来自http://lists.osgeo.org/pipermail/openlayers-dev/2011-March/007345.html:
新
OpenLayers.Renderer.SVG2渲染器执行您要求的操作.它可以在主干上使用(将在2.11中).要使用它,请为此配置渲染器数组OpenLayers.Layer.Vector:Run Code Online (Sandbox Code Playgroud)new OpenLayers.Layer.Vector("My Layer", { renderers: ["SVG2", "VML", "Canvas"] });或者在原型上设置它:
OpenLayers.Layer.Vector.renderers = ["SVG2", "VML", "Canvas"];请注意,VML(在IE6,7,8中使用)和Canvas(在Android设备上使用)
Renderer.SVG在平移时表现得像并且不绘制功能.