天地图GeoGlobe重写双击事件
Yourtion 创作于:2011-06-02
全文约 1331 字,
预计阅读时间为 4 分钟
之前已经介绍了《天地图GeoGlobe添加单击事件》,但是如果你依样画葫芦想定义双击事件,你就会发现并不可行,双击后依然还是放大地图,感谢“oОО砯崖Оo”的研究,重写双击事件得到解决。拿出了分享一下。
要定义双击事件就要重新定义地图导航控件,然后重新定义控件的双击方法。具体实现方法也比较麻烦,但是代码还是很简洁,很多东西在API文档没有,所以要自己理解咯···
代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://www.tianditu.com/guide/lib/GeoSurfJSAPI.js" type="text/javascript"></script>
<script src="http://www.tianditu.com/guide/2d_samples/sampleCfg.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload=function()
{
var myNavigation = new GeoSurf.Control.Navigation();//重新定义地图导航控件
myNavigation.defaultDblClick = function(evt){//重新定义控件的双击方法
alert(evt.xy);
}
//在构造地图对象的时候,单独指定加载的控件
var map = new GeoSurf.PortalMap("frist_map",{
controls:[myNavigation,new GeoSurf.Control.PanZoom() ]
});
map.loadLayerGroup(vectorGroup);
var chinaBounds = new GeoSurf.Bounds(73.30,17,135.65,52.32);
map.zoomToExtent(chinaBounds);
}
</script>
</head>
<body>
<div id="frist_map" style="width: 640px; height: 480px ; marging:0 auto"></div>
</body>
</html>
查看此示例的实际效果:点击这里看Demo
但是重定义之后其他的鼠标事件也要重构·这些之后再讲··大家多多支持··
原文链接:https://blog.yourtion.com/rewrite-double-clicke-geoglobe.html