2016-03-02 46 views
0

我正在使用esri javascript API來創建一個webmap。我想在地圖旁邊有一個按鈕來放大/縮小(不是標準的esri按鈕)。現在,我發現很多使用dijit(https://developers.arcgis.com/javascript/jssamples/toolbar_navigation.html)的示例,但我只是想使用一個簡單的html按鈕,如:放大,然後在腳本部分中說類似:如何在不使用dijit的情況下更改buttonclick上的地圖縮放級別?

function zoomin(){map。 setZoom()}

現在我的問題是,我不知道如何使這項工作。我猜問題是,在buttonclick之後,它找不到zoomin函數,因爲它在require([...])中,function(){}但是我不能將它放在外面,因爲代碼依賴於要求。

所以,如果你能告訴我該怎麼做,那將是一件好事。

回答

0

要放大地圖,請使用setZoom方法遞增當前縮放級別以放大和縮小縮小。例如:

//zoom out: 
map.setZoom(map.getZoom()-1); 

//zoom in: 
map.setZoom(map.getZoom()+1); 

作爲一個例子,使用ESRI的樣品上方的沙箱: http://developers.arcgis.com/javascript/sandbox/sandbox.html?sample=toolbar_navigation

...與此替換線85至91:

 registry.byId("zoomin").on("click", function() { 
     //navToolbar.activate(Navigation.ZOOM_IN); 
     map.setZoom(map.getZoom()+1); 
     }); 

     registry.byId("zoomout").on("click", function() { 
     //navToolbar.activate(Navigation.ZOOM_OUT); 
     map.setZoom(map.getZoom()-1); 
     }); 

這將允許放大和縮小按鈕來控制地圖。

希望這會有所幫助。

+0

不,我真的不認爲這就是我要找的。我的導航工具欄看起來是這樣的:

所以我沒有所有的道場按鈕等 所以我需要替換註冊表部分我猜,但它不適合我 – oddpodm

+0

哦,我得到它的工作。只需要將registry.byId更改爲document.getElementbyId(...)。onclick = zoomin; 然後它的工作 謝謝 – oddpodm

相關問題