123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- /**
- * [ONEMAP.M.projectController]
- * @return {[object]}
- */
- define(function(tplLayout) {
- /**
- * 初始化并订阅事件
- * @return {[type]} [description]
- */
- /**
- * 模块数据 用于数据存储和外部调用
- * @type {Object}
- * 数据存放
- */
- var modValue = {
-
- }
- /**
- * 状态值
- * @type {Boolean}
- * @default false
- * @private
- */
- var status = {
- initialized: false,
- isShowChild: false,
- connect: false,
- webSocketState: false
- };
- var opData = {
- lng: "",
- lat: "",
- zoom: ""
- };
- function init() {
- if (!status.initialized) {
- subscribe();
- bindEvent();
- status.initialized = true;
- }
- }
- function bindEvent(){
- }
- /**
- * 设置界面
- */
- function setLayout() {
- }
- /**
- * 界面重置
- * @return {[type]} [description]
- */
- function layoutResize(options) {
- }
- function add3DModelNoFly(options){
- if(options.name){
- modValue['model'+options.indexNum] = locaSpaceMap.Globe.Layers.Add1(options.url);
- if(opData.lng != ""){
- locaSpace.FlyToPlace(opData.lng,opData.lat,opData.zoom,0,45);
- }
- }else {
- locaSpaceMap.Globe.Layers.RemoveLayerByID(modValue['model'+options.indexNum]['ID']);
- }
- locaSpaceMap.Refresh();
- };
- function add3DModel(options){
- if(options.name){
- modValue['model'+options.indexNum] = locaSpaceMap.Globe.Layers.Add1(options.url);
- locaSpace.FlyToPlace(opData.lng,opData.lat,opData.zoom,0,45);
- }else {
- locaSpaceMap.Globe.Layers.RemoveLayerByID(modValue['model'+options.indexNum]['ID']);
- }
- locaSpaceMap.Refresh();
- };
- function qxAction(options){
- setTimeout(function(){
- var thrData = ONEMAP.D.globalSettingData.map3DModelSetting;
-
- for(var i=0;i<thrData.length;i++){
- var threeDlist = thrData[i].type;
- if(threeDlist == "qxData"){
- if(options == "add"){
-
- thrData[i].indexNum = i;
- if(opData.lng == ""){
- opData.lng = thrData[i].center.lng;
- opData.lat = thrData[i].center.lat;
- opData.zoom = thrData[i].zoom;
- }
- add3DModelNoFly(thrData[i]);
- }
- else if(options == "remove"){
- var modelData = {
- indexNum: i
- }
- add3DModelNoFly(modelData);
- }
- }
- }
- },1000);
- }
- /**
- * 注册订阅
- * @type {Function}
- * 推送:ONEMAP.C.publisher.publish(options,'moduleName::type');
- * 订阅:ONEMAP.C.publisher.subscribe(layoutResize,'sideBarLayoutChange');
- */
- function subscribe() {
- ONEMAP.C.publisher.subscribe(qxAction, '3DModelControl');
- }
- /**
- * 取消订阅
- * @type {Function}
- * 取消订阅:ONEMAP.C.publisher.unSubscribe(layoutResize,'sideBarLayoutChange');
- */
- function unSubscribe() {
- }
- return ONEMAP.M.modelFly = {
- init: init
- }
- });
|