XWWitPark/witpark_zhwy/xw_zhwy_web/public/widgets/manageLayers/widget.js
2024-09-12 08:10:00 +08:00

2 lines
1.8 KiB
JavaScript

/* 2020-9-24 14:48:22 | 版权所有 军懋国兴 */
mars3d.widget.bindClass(mars3d.widget.BaseWidget.extend({options:{view:{type:"window",url:"view.html",windowOptions:{width:250,height:500}}},hasManagerBaseMaps:!0,create:function(){},viewWindow:null,winCreateOK:function(e,i){this.viewWindow=i},activate:function(){},disable:function(){this.viewWindow=null},_layers:null,addOverlay:function(e){e.name||(e.name="未命名"),e.id||(e.id=viewer.mars.getNextId()),e.pid||(e.pid=-1);var i=Number(e.order);isNaN(i)&&(i=this._layers.length+1),e.order=i,e._key=this._layers.length+"_"+e.id+"_"+e.name,this._layers.push(e),this.isActivate&&this.viewWindow&&this.viewWindow.addNode(e)},removeLayer:function(e){for(var i=0;i<this._layers.length;i++){var t=this._layers[i];if(t.name==e){this._layers.splice(i,1),this.isActivate&&this.viewWindow&&this.viewWindow.removeNode(t);break}}},getLayers:function(){if(null==this._layers){for(var e=[],i=this.hasManagerBaseMaps?this.viewer.mars.config.basemaps:[],t=this.viewer.mars.config.operationallayers,a=0;a<i.length;a++){var s=i[a];e.push(s)}for(a=0;a<t.length;a++){s=t[a];e.push(s)}for(a=0;a<e.length;a++){(s=e[a])._key=a+"_"+s.id+"_"+s.name}this._layers=e}return this._layers},getLayar:function(e){return this.viewer.mars.getLayer(e)},centerAt:function(e){var i=this.getLayar(e);i&&i.centerAt()},getLayerVisible:function(e){var i=this.getLayar(e);return i&&i.getVisible()},updateLayerVisible:function(e,i){var t=this.getLayar(e);t.config.visible=i,t.setVisible(i),i&&this.config.autoCenter&&!t.config.noCenter&&t.centerAt(),e.onWidget&&(i?mars3d.widget.activate({uri:e.onWidget,layerItem:e,disableOther:!1}):mars3d.widget.disable(e.onWidget))},udpateLayerOpacity:function(e,i){this.getLayar(e).setOpacity(i)},udpateLayerZIndex:function(e,i){this.getLayar(e).setZIndex(i)}}));