【问题标题】:Pinch zoom event in openlayersopenlayers中的捏缩放事件
【发布时间】:2013-03-07 18:42:27
【问题描述】:

我在图像上使用 openlayers 并希望拥有它,这样如果我一直放大并且它稍微偏向一边,它将自动居中。我有以下代码,但它不起作用。看起来不是在捏时调用了“zoomEnd”,但是触发了什么事件?

在 Openayers 中是否有所有可能要监听的事件的列表?我在文档中的任何地方都找不到类似的东西..

map = new OpenLayers.Map('detailsdiv', {
    projection : 'EPSG:3785',
    units : 'm',
    fractionalZoom : true,
    eventListeners: {
        "zoomend": recenterMap
    },
    maxResolution: Math.pow(2, graphic.numberOfTiers - 1),
    numZoomLevels : graphic.numberOfTiers,
    controls: [
         new OpenLayers.Control.TouchNavigation({
                dragPanOptions: {
                    enableKinetic: true
                }
         })
    ]
});

================================

function recenterMap(){
    if (!map.centered){
        if (map.getZoom() == 0){
            map.centered = true;
            map.zoomToMaxExtent();
            map.zoomTo(0);
        } else {

        }
    }
}

【问题讨论】:

    标签: events gis openlayers pinchzoom


    【解决方案1】:

    我相信你最好使用 moveend 事件。当拖动、平移或缩放结束时它会被触发……这更好。此外,这里是事件列表: http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Map-js.html#OpenLayers.Map.events

    你可能还想在你的 centererMap() 函数中使用 map.setCenter()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多