次の例では、ウィジット上で地図のドラッグができます。
ウィジットで発生したイベントの伝播を制御するには、propagationプロパティを利用します。
利用可能なウィジットは、マーカ、吹き出し、線、多角形、円または楕円、ユーザウィジットです。
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <script src="//api.its-mo.com/v3/webgl-loader?key=JSZddc5111626c8|Zo4wz&ver=bldg_w_tex&api=webgl.js&enc=EUC&force=1" type="text/javascript"></script> <script type="text/javascript"> "use strict"; var map, mrk, pl, ov, widget, lat = 35.66297325982054, lon = 139.76598186955528; function loadMap() { map = new ZDC.Map( document.getElementById('ZMap'), { latlon: new ZDC.LatLon(lat, lon), zoom: 14.5, heading: 155, tilt: 70 } ); /* スケールバーを作成 */ var scale = new ZDC.ScaleBar(); /* スケールバーを表示 */ map.addWidget(scale); /* マーカを作成 */ var mrklabel = { propagation: true }; mrk = new ZDC.Marker(new ZDC.LatLon(lat, lon), mrklabel); /* マーカを追加 */ map.addWidget(mrk); /* 吹き出しを表示 */ var widget = new ZDC.MsgInfo(map.getLatLon(), {html: 'Sample MsgInfo', propagation: true}); map.addWidget(widget); widget.open(); /* ユーザウィジットを作成 */ var widgetlabel = { html: '<div style="background-color: #FFFFFF"><b>Sample Widget</b></div>', size: new ZDC.WH(100, 40), propagation: true }; widget = new ZDC.UserWidget(map.getLatLon(), widgetlabel); /* ユーザウィジットを地図に追加 */ map.addWidget(widget); /* ユーザウィジットを表示 */ widget.open(); /* 線の頂点を作成 */ var latlons = []; latlons.push(new ZDC.LatLon(35.70, 139.63)); latlons.push(new ZDC.LatLon(35.70, 139.72)); latlons.push(new ZDC.LatLon(35.66, 139.65)); /* 線を作成 */ pl = new ZDC.Polyline( latlons, { fillColor: '#FF0000', propagation: true }); /* 線を地図に追加 */ map.addWidget(pl); /* 円を作成 */ ov = new ZDC.Oval( { latlon: new ZDC.LatLon(35.70, 139.85), x: 2000, y: 2000 }, { strokeColor: '#000000', strokeWeight: '2', fillColor: '#FF0000', circle: true }); /* 円を地図に追加 */ map.addWidget(ov); }; </script> </head> <body onload="loadMap();"> <div id="ZMap" style="border:1px solid #777777; width:750px; height:500px; top:0px; left:20px; position:absolute;"></div> </body> </html>