OpenLayers 比较有用的对象和属性

OpenLayers 比较有用的对象和属性

1.ol.interaction.Pointer

    是管理地图down、move、up事件的基类,也用于管理地图拖拽事件。

    构造函数结构如下:

new ol.interaction.Pointer(opt_options)

    options包括的属性有:
    handleDownEvent:处理地图的down事件。如果该事件返回true,drag队列开始执行。

    handleDragEvent:处理地图的drag事件。当down事件返回true,鼠标在拖拽过程中该事件一直被触发。

    handleEvent:当地图通知浏览器触发交互时调用该函数,通过返回FALSE,可终止其他交互事件的传播。

    handleMoveEvent:在拖拽的过程中触发move事件。

    handleUpEvent:捕获鼠标up事件。

2.updateWhileAnimating和updateWhileInteracting属性

    默认情况下,当在和地图交互或者动画过程中,tile和vector图层会等待这些过程执行完后才会更新。我们可以通过两个属性禁止这样的现象,在vector图层中,必须在layer级别控制。而像tiled图层可以直接通过map级别控制。代码如下:

复制代码

var map = new ol.Map({
        target: 'map',
        layers: [
            new ol.layer.Tile({
                source: new ol.source.TileWMS({
                    url: 'http://demo.opengeo.org/geoserver/wms',
                    params: {
                        layers: 'ne_50m_land',
                        format: 'image/png'
                    },
                    wrapX: false
                }),
                name: 'Natural Earth Land'
            }),
            new ol.layer.Vector({
                source: new ol.source.Vector({
                    format: new ol.format.GeoJSON({
                        defaultDataProjection: 'EPSG:4326'
                    }),
                    url: '../../res/world_countries.geojson',
                    wrapX: false
                }),
                name: 'World Countries',
                headers: {
                    pop_est: 'integer',
                    gdp_md_est: 'integer'
                },
                type: 'polygon',
                updateWhileAnimating: false,
                updateWhileInteracting: false
            })
        ],
        view: new ol.View({
            center: [0, 0],
            zoom: 2,
            extent: ol.proj.get('EPSG:3857').getExtent()
        }),
        loadTilesWhileAnimating: true,
        loadTilesWhileInteracting: true
    });

复制代码

3.限制地图大小属性

    只要继承至ol.layer.Base对象的图层都可通过wrapX:false限制图层在x轴方向重复;另外也可通过设置view的extend属性。

    wrapX限制

复制代码

var map = new ol.Map({
[…]
new ol.layer.Tile({
source: new ol.source.TileWMS({
[…]
wrapX: false
[…]
new ol.layer.Vector({
source: new ol.source.Vector({
[…]
wrapX: false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值