http://blog.yourtion.com/right-click-geoglobe.html
之前已经介绍了《天地图GeoGlobe添加单击事件》和《天地图GeoGlobe重写双击事件》,单身你安装上述方法去定义右击事件的话,你就会一直看到浏览器弹出的右键菜单。研究了天地图官方的地图,发现它代码的实现是使用jquery的。所以按图索骥,依样画葫芦的写了个右击事件的教程,希望对你有帮助。
原理还是比较简单,利用jquery和jquery.contextmenu创建地图右击事件菜单。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <script src= "jquery-1.4.4.min.js" ></script> <script src= "jquery.contextmenu.r2.packed.js" ></script> <script src= "http://www.tianditu.com/guide/2d_samples/sampleCfg.js" type= "text/javascript" ></script> </head> <body onload= "initialize()" > <div id= "frist_map" style= " 640px; height: 480px ; marging:0 auto;z-index:100;position: absolute; display: block;" ></div> <hr /> <!--右键菜单的源--> <div class = "contextMenu" id= "myMenu2" style= "z-index:1000; position: absolute;" > <ul> <li id= "item_1" >选项一</li> <li id= "item_2" >选项二</li> <li id= "item_3" >选项三</li> <li id= "item_4" >选项四</li> </ul> </div> <script type= "text/javascript" > function initialize() { var map = new GeoSurf.PortalMap( "frist_map" ); map.loadLayerGroup(imageGroup); map.setCenter( new GeoSurf.LonLat(116.12371, 24.33058), 14); } //所有html元素id为demo2的绑定此右键菜单 $( '#frist_map' ).contextMenu( 'myMenu2' , { //菜单样式 menuStyle: { border: '2px solid #000' }, //菜单项样式 itemStyle: { fontFamily : 'verdana' , backgroundColor : 'green' , color: 'white' , border: 'none' , padding: '1px' }, //菜单项鼠标放在上面样式 itemHoverStyle: { color: 'blue' , backgroundColor: 'red' , border: 'none' }, //事件 bindings: { 'item_1' : function (t) { alert( 'Trigger was ' +t.id+ '\nAction was item_1' ); }, 'item_2' : function (t) { alert( 'Trigger was ' +t.id+ '\nAction was item_2' ); }, 'item_3' : function (t) { alert( 'Trigger was ' +t.id+ '\nAction was item_3' ); }, 'item_4' : function (t) { alert( 'Trigger was ' +t.id+ '\nAction was item_4' ); } } }); </script> </body> </html> |
查看此示例的实际效果:点击这里看Demo
代码中的JS:点此下载
当年今日
- 多普达565解锁刷机SuperCID教程及相关软件下载 - 2010
打印文章 | 这篇文章由Yourtion于2011 年 06 月 21 日 上午 8:30发表在天地图二次开发。你可以订阅RSS 2.0 也可以发表评论或引用到你的网站。 |