0

有一个自定义地图(http://atlas.nrcan.gc.ca/site/english/toporama/index.html),它有缩放按钮。此缩放没有内联 onclick 事件。

我需要有一个 div (在地图外),当它被点击时 => 应该模拟放大效果。

我试过这个:

onclick="$('#OpenLayers.Control.PanZoomBar_3_zoomin').click()"

但它没有效果。

缩放效果有点复杂,我不想这么挖掘源代码来查找调用什么函数来缩放。我唯一需要的是模拟点击,类似于缩放按钮的快捷方式。

有什么建议么?

4

4 回答 4

2

该api具有内置的方法

OpenLayers Map 对象存储在一个名为的全局变量中map

放大:

map.zoomIn();

缩小:

map.zoomOut();
于 2013-06-21T20:24:33.303 回答
1

尝试$('#OpenLayers\\.Control\\.PanZoomBar_3_zoomin').trigger("click")一个函数

编辑:您需要将句点加倍,这样您就不会尝试选择课程。

于 2013-06-21T20:19:53.033 回答
1

做就是了

<script>
    $(function(){
        $('#OpenLayers.Control.PanZoomBar_3_zoomin').click(function(){Do stuff here})
    });
</script>
于 2013-06-21T20:20:25.247 回答
0

我假设某处有一个函数可以启动缩放事件(取决于地图的来源)。您应该能够通过自己的点击功能重新使用它。

$('#myElement').click(function(){

//callback to zoom function

});

编辑:

如果你想模拟点击,我会调查.trigger();

$('#OpenLayers.Control.PanZoomBar_3_zoomin').trigger('click');

http://api.jquery.com/trigger/

于 2013-06-21T20:18:46.670 回答