/** * [ONEMAP.M.mod] * @return {[object]} */ define(['html!templates/leadorStreetView', 'css!styles/leadorStreetView'], function(tplLayout){ /** * 模块数据 用于数据存储和外部调用 * @type {Object} * 数据存放 */ var modValue = { /** * 默认配置信息 * @type {Object} * @default * { * stationID:0, //地点id * yaw:0, //视角 * pitch:0 * } */ options:{ stationID:0, yaw:0, pitch:0 }, /** * 当前的地点坐标 * @type {Object} * @default {} * @private */ currentPoint:{}, /** * 需要添加的新坐标 * @type {Object} * @default {} * @private */ beAddPoint:{}, //图层 featureGroup:null, mapBound:null }; /** * 模块界面样式 例如:宽,高 * @type {Object} */ var styles = {}; /** * 模块状态,用于存储模块的状态 例如:收起,关闭 * @type {Object} */ var status = { initialized:false }; /** * 查询参数 * @type {Object} */ var options = {}; /** * 初始化并订阅事件 * @return {[type]} [description] */ function init(){ if(!status.initialized){ status.initialized = true; setLayout(); subscribe(); } } /** * 设置界面 */ function setLayout(){ $('body').append(tplLayout); setTimeout(function(){ buildLeadorSwf(); },1000); modValue.featureGroup = map23DControl.group({ action: 'add' }); bindEvent(); getCurrentAreaData(); $(window).resize(function() { layoutResize(); }); } /** * 创建路径swf */ function buildLeadorSwf(){ var flashPlayerInfo = flashChecker(); if(flashPlayerInfo && flashPlayerInfo.v > 10){ /** 配置 **/ var more = {}; more.flashvars = {}; LeadorStreetView.useHash = false; /** 设置服务信息 **/ more.flashvars.TrueVisionSeverUrl = onemapUrlConfig.leadorStreetBaseUrl; more.flashvars.Port = onemapUrlConfig.leadorStreetPort; more.flashvars.DataName = onemapUrlConfig.leadorStreetDataName; more.flashvars.TrueVisionImageUrl = onemapUrlConfig.leadorStreetImageUrl; more.flashvars.UIUrl = map23DConfig.map23DAssetsUrl+"/scripts/vendor/leadorStreet/IShowChinaTVUIBJ.swf"; more.flashvars.LogoUrl = map23DConfig.map23DAssetsUrl+"/scripts/vendor/leadorStreet/ld-logo.png"; /** 绑定DIV **/ LeadorStreetView.bindingDIV("leadorStreetPointViewSwf",null,more); LeadorStreetView.showFullScreenUI(false); }else { if(document.all){ var flashPlayerLink = map23DConfig.map23DAssetsUrl+"/soft/flashplayer_winax.exe"; }else { var flashPlayerLink = map23DConfig.map23DAssetsUrl+"/soft/flashplayer_win.exe"; } var installFlashHtml = '
' + '

请安装Adobe flash player 11以上版本的播放器。

' + 'Adobe Flash Player 11' + '
'; document.getElementById('leadorStreetPointViewSwf').innerHTML = installFlashHtml; } }; /** * 检查flash */ function flashChecker(){ var hasFlash = 0; var flashVersion =0; try{ if(document.all){ var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); if(swf){ hasFlash = 1; VSwf = swf.GetVariable('$version'); flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]); } }else { if(navigator.plugins && navigator.plugins.length > 0){ var swf = navigator.plugins["Shockwave Flash"]; } if(swf){ hasFlash = 1; var words = swf.description.split(" "); for(var i=0;i