1. 程式人生 > >學習OPENSEADRAGON之四 (導航檢視)

學習OPENSEADRAGON之四 (導航檢視)

OpenSeadragon介紹以及上手:學習OpenSeadragon之一

OpenSeadragon主要用於地圖、醫學影象等需要放大縮小分層顯示的影象顯示。

1,簡單例子

導航檢視就是在一個小框中顯示整個地圖的全貌,點選小框中的相應位置,整個圖片顯示的焦點就能定位到點選的相應位置,就像魔獸爭霸、dota裡的小地圖那樣,如下圖右上角。

OpenSeadragon已經為我們提供了方便呼叫的navigation介面,

只需要在建立OpenSeadragon物件時宣告: showNavigator: true, 即可。

OpenSeadragon({
     ...      
     showNavigator:  true,
     ...
 });

2,導航視窗的位置(navigatorPosition)

我們可以通過navigatorPosition來設定導航視窗在全地圖的位置,例如:
OpenSeadragon({
        ...
        showNavigator:  true,
        navigatorPosition:   "BOTTOM_LEFT",
        ...
    });

這樣,視窗就出現在左下角了:

navigatorPosition可以設定的值有:'TOP_LEFT'(左上), 'TOP_RIGHT'(右上), 'BOTTOM_LEFT'(左下), 'BOTTOM_RIGHT'(右下),  'ABSOLUTE'(絕對位置)

 

3,導航視窗的尺寸和位置設定

設定navigatorPosition為“ABSOLUTE”之後,就可以給navigator設定長寬以及座標位置了。

OpenSeadragon({  
    ...
    showNavigator:  true,
    navigatorPosition: "ABSOLUTE",
    navigatorTop:      "250px",
    navigatorLeft:     "350px",
    navigatorHeight:   "120px",
    navigatorWidth:    "145px",
    ...
});

效果:

 

4,將導航視窗放在view之外

只需要建立一個div並且設定ID,再將 navigatorId 的值設定為這個id,那麼導航navigator就跑到這個div裡了。

...
<div id="navigatorDiv" style="width:200px; height:200px;"></div>
...

<script>
OpenSeadragon({
   ...
    navigatorId:   "navigatorDiv",
   ...
});
</script>

效果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>navigator導航</title>
    <script src="openseadragon.min.js"></script>
</head>
<body>
    <h1>導航(Navigatior)</h1>
    <div id="openSeadragon1" style="width:1000px; height:400px; border:1px solid blue;"></div>
    <div id="navigatorDiv" style="width:200px; height:200px;"></div>
</body>    
<script type="text/javascript">
var openSeadragon = OpenSeadragon({

    id:  "openSeadragon1",  //指定顯示的div
    prefixUrl: "./images/", //庫中按鈕等圖片所在資料夾
    tileSources:   [{
        type:       'tiledmapservice',
        tilesUrl:   'http://tilecache.osgeo.org/wms-c/tilecache.py/1.0.0/basic/',
        width:  256 * 65534,
        height: 256 * 32767
    }],
    navigatorId:   "navigatorDiv",
    showNavigator:  true,              //顯示導航
    // navigatorPosition: "ABSOLUTE",  //可設定長寬和位置
    // navigatorTop:      "250px",     //導航頂部座標
    // navigatorLeft:     "350px",     //導航左邊距離
    // navigatorHeight:   "120px",
    // navigatorWidth:    "145px",
});
</script>
</html>

官方demo參考地址:https://openseadragon.github.io/examples/ui-viewport-navigator/

 


來源於:

https://www.cnblogs.com/yingjiehit/p/4390581.html