如何使用openlayers进行动画缩放和平移?

时间:2011-09-23 04:58:24

标签: openlayers

喜欢网站:http://www.tomtom.com/livetraffic/

当我在上面的网站上尝试平移或缩放时,感觉非常类似于Google地图,这对用户体验非常顺利。

我的问题是如何分别使用openlayers实现此效果以进行平移和缩放? 我至少在openlayers的例子中找不到它们。

感谢您的关注。

以下是我的源代码的一部分,也许它有效,但不像我想的那样顺利

        var map, layer; 
        function init() {
            var options = { 
                projection: "EPSG:900913",

                maxExtent: new OpenLayers.Bounds(18.203001,
     

47.078001,399.909001,261.796001),

                scales: [2400, 1200, 600, 300, 150],
                units: "m",

                panDuration: 100,
                controls: [new OpenLayers.Control.Navigation(
        {dragPanOptions: {enableKinetic: true}}
    )]
             var tile = new SimpleTileCache("map", 
     

“tilecache / 8F /”,
                   {                        'format':'image / png',                        transitionEffect:'resize'                    });

             map.addLayers([tile]);

2 个答案:

答案 0 :(得分:11)

效果称为 transitionEffect
您可以通过更改图层属性将此效果实现到您的代码中 我想你有一个WMS或TMS层。

 var tiled_resize_effect = new OpenLayers.Layer.WMS(
     "WMS tiled resize", 
     "http://vmap0.tiles.osgeo.org/wms/vmap0?",
     {layers: 'basic'}, 
     {transitionEffect: 'resize'}
 );

检查这些例子

WMS Transition
Google Transition

最好的问候

答案 1 :(得分:3)

对于平移,这就是所谓的动力学拖动,请参阅: http://dev.openlayers.org/examples/kinetic.html