簡體   English   中英

Openlayers中的縮放事件

[英]Pinch zoom event in openlayers

我正在圖像上使用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 {

        }
    }
}

我相信您最好使用moveend事件。 當拖動,平移或縮放結束時會被觸發...更好。 另外,這是事件列表: http : //dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Map-js.html#OpenLayers.Map.events

您可能還想在最近的Map()函數中使用map.setCenter()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM