Javascript 如何在esri地图上创建自己的缩放按钮

Javascript 如何在esri地图上创建自己的缩放按钮,javascript,dictionary,esri,arcgis-js-api,Javascript,Dictionary,Esri,Arcgis Js Api,我正在尝试实现一个zomm按钮(和其他按钮),并使用esri-javascript-api 我隐藏esri默认按钮,并希望使用自己的按钮进行放大。 请看这里: 我希望它执行与默认esri缩放按钮(放大)相同的功能。怎么做 另外,我在从映射函数外部引用映射时遇到问题。。。如果你也能帮忙的话。如何从其他功能引用地图并执行例如缩放功能。 之后: 首先,您必须订阅“zoombutton”DOM元素的单击事件。 您可以使用本机api或类似jquery($('#zoombutton').on)或dojo/o

我正在尝试实现一个zomm按钮(和其他按钮),并使用esri-javascript-api

我隐藏esri默认按钮,并希望使用自己的按钮进行放大。 请看这里:

我希望它执行与默认esri缩放按钮(放大)相同的功能。怎么做

另外,我在从映射函数外部引用映射时遇到问题。。。如果你也能帮忙的话。如何从其他功能引用地图并执行例如缩放功能。 之后:


首先,您必须订阅“zoombutton”DOM元素的单击事件。 您可以使用本机api或类似jquery($('#zoombutton').on)或dojo/on模块来实现

在事件回调函数中,您可以访问映射,因为您在全局范围内初始化了它,只需设置映射的下一级()

功能示例:

document.getElementById('zoombutton').addEventListener('click', function(){
   map.setLevel(map.getLevel()+1);
});
如果您想要更具可重用性和模块化的产品,可以在此处查看更多说明参见:

您只需订阅click事件并调用setZoom即可

on(dom.byId("zoomInBtn"), "click", function(evt){map.setZoom(map.getZoom()+1);});
on(dom.byId("zoomOutBtn"), "click", function(evt){map.setZoom(map.getZoom()-1);});

请询问您是否需要更多信息…;)请编辑您的答案,添加代码如何工作以及如何解决OP问题的解释。许多SO海报都是新手,不会理解您发布的代码。thnx。作为旁白。。。您是否知道如何修复放大/缩小自定义按钮,使其与默认按钮一样快速工作?如果您在JSFIDLE上尝试您的代码,您可以看到它们滞后,您必须单击,等待,单击。不要只是点击,而是点击,点击默认的。很多
document.getElementById('zoombutton').addEventListener('click', function(){
   map.setLevel(map.getLevel()+1);
});
on(dom.byId("zoomInBtn"), "click", function(evt){map.setZoom(map.getZoom()+1);});
on(dom.byId("zoomOutBtn"), "click", function(evt){map.setZoom(map.getZoom()-1);});