"use script"; //开发环境建议开启严格模式 //对应widget.js中MyWidget实例化后的对象 var thisWidget; //当前页面业务 function initWidgetView(_thisWidget) { thisWidget = _thisWidget; $("#btnFlyStop").click(function (event) { thisWidget.toRoamLine(); }); $("#btnSelChars").click(function (event) { thisWidget.showHeightChars(); }); var attr = thisWidget.getAttr(); var followedX = attr.camera.followedX ?? 200; var followedZ = attr.camera.followedZ ?? 50; var offsetZ = attr.camera.offsetZ || 0; var offsetY = attr.camera.offsetY || 0; var offsetX = attr.camera.offsetX || 0; //改变视角模式 $("#followedX").val(followedX); $("#followedZ").val(followedZ); $("#offsetZ").val(offsetZ); $("#offsetY").val(offsetY); $("#offsetX").val(offsetX); $("#cameraType").attr("data-value", attr.camera.type); $("#cameraType").select(); //绑定样式 $("#cameraType").change(function () { $("#tr_followedX").hide(); $("#tr_followedZ").hide(); $("#tr_offsetZ").hide(); $("#tr_offsetY").hide(); $("#tr_offsetX").hide(); var attrVal = $(this).attr("data-value"); switch (attrVal) { default: break; case "gs": // $("#tr_followedX").show(); break; case "dy": //锁定第一视角 $("#tr_followedX").show(); $("#tr_followedZ").show(); $("#tr_offsetZ").show(); $("#tr_offsetY").show(); $("#tr_offsetX").show(); $("#followedX").val(followedX); $("#followedZ").val(followedZ); $("#offsetZ").val(offsetZ); $("#offsetY").val(offsetY); $("#offsetX").val(offsetX); break; case "sd": //锁定上帝视角 $("#tr_followedZ").show(); var sdZ = Number($("#followedZ").val()); $("#followedZ").val(sdZ); break; } updateCameraSetting(); }); $("#cameraType").change(); //第一视角 $("#followedX").change(function () { updateCameraSetting(); }); $("#followedZ").change(function () { updateCameraSetting(); }); $("#offsetY").change(function () { updateCameraSetting(); }); $("#offsetZ").change(function () { updateCameraSetting(); }); $("#offsetX").change(function () { updateCameraSetting(); }); } //改变视角模式 function updateCameraSetting() { var cameraType = $("#cameraType").attr("data-value"); var followedX = Number($("#followedX").val()); var followedZ = Number($("#followedZ").val()); var offsetZ = Number($("#offsetZ").val()); var offsetY = Number($("#offsetY").val()); var offsetX = Number($("#offsetX").val()); thisWidget.setCameraOptions({ type: cameraType, radius: cameraType == "gs" ? followedX : 0, followedX: followedX, followedZ: followedZ, offsetZ: offsetZ, offsetY: offsetY, offsetX: offsetX, }); } //显示基本信息,名称、总长、总时间 var _alltime = 100; function showAllInfo(params) { _alltime = params.alltime; $("#td_name").html(params.name); $("#td_alltimes").html(haoutil.str.formatTime(params.alltime)); $("#td_alllength").html(haoutil.str.formatLength(params.alllen)); } //显示实时坐标和时间 function showRealTimeInfo(params) { var val = Math.ceil((params.time * 100) / _alltime); if (val < 1) { val = 1; } if (val > 100) { val = 100; } $(".progress-bar") .css("width", val + "%") .attr("aria-valuenow", val) .html(val + "%"); $("#td_jd").html(params.lng); $("#td_wd").html(params.lat); $("#td_gd").html(haoutil.str.formatLength(params.alt)); $("#td_times").html(haoutil.str.formatTime(params.time)); $("#td_length").html(haoutil.str.formatLength(params.len)); if (params.hbgd) { $("#td_dmhb").html(haoutil.str.formatLength(params.hbgd)); } else { $("#td_dmhb").html("未知"); } if (params.ldgd) { $("#td_ldgd").html(haoutil.str.formatLength(params.ldgd)); } else { $("#td_ldgd").html("未知"); } } //下拉框 (function ($) { //下拉菜单默认参数 var defaluts = { select: "mp_select", select_text: "mp_select_text", select_ul: "mp_select_ul", }; $.fn.extend({ // 下拉菜单 // 下拉菜单 select: function (options) { var opts = $.extend({}, defaluts, options); return this.each(function () { var that = $(this); //模拟下拉列表 if (that.data("value") !== undefined && that.data("value") !== "") { that.val(that.data("value")); } var _html = []; _html.push('