...
这也不难,可以利用dwf_ctx的executeOperation完成单击后触发操作。
代码块 | ||||
---|---|---|---|---|
| ||||
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";} </style> <script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=??????"></script> <title>地球模式</title> </head> <body> <div id="allmap"></div> </body> </html> <script type="text/javascript"> // GL版命名空间为BMapGL var map = new BMapGL.Map("allmap"); // 创建Map实例 map.centerAndZoom(new BMapGL.Point(118.5, 27.5), 5); // 初始化地图,设置中心点坐标和地图级别 map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放 map.setMapType(BMAP_EARTH_MAP); // 设置地图类型为地球模式 var ctx = window.parent.dwf_ctx; let param = {}; ctx.dwf_axios.post(`/omf/entities/Asset/objects`,param).then(initRes => { //在回调中处理 console.log(initRes.data.data); let assets = initRes.data.data; assets.forEach(a => { var marker = new BMapGL.Marker(new BMapGL.Point(a.locationX, a.locationY)); marker.asset = a; //先将标记点对应的数据绑定起来 marker.addEventListener('click', function () { console.log(marker.asset); // 单击的时候打开对话框 let initParams={ obj:marker.asset }; ctx.openForm('Asset','AssetComposition',null,'visit',initParams); }); map.addOverlay(marker); }); }); </script> |
...