如何在不使用dijit的情况下更改buttonclick上的map zoomlevel?

时间:2016-03-02 13:59:52

标签: javascript function button buttonclick arcgis-js-api

我正在使用esri javascript API创建一个webmap。我想在地图旁边有一个按钮,允许我放大/缩小(不是标准的esri按钮)。现在,我发现了很多使用dijit(https://developers.arcgis.com/javascript/jssamples/toolbar_navigation.html)做这个的例子,但我只是想使用一个简单的html按钮,如:放大,然后在脚本部分说出如下内容:

function zoomin(){map.setZoom()}

现在我的问题是我不知道如何做这项工作。我想问题是按钮点击后它无法找到zoomin函数,因为它在require([...]),function(){}里面但是我不能把它放到因为代码取决于要求,所以外面都没有。

所以,如果你能告诉我该做什么就会很棒。

1 个答案:

答案 0 :(得分: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);
      });

这将允许放大和缩小按钮来控制地图。

希望这有帮助。