wangzhibo
2021-09-08 d32f55d666c8ebbaa7ee14f3bc6f6aae0a2ce633
change compass position
5个文件已修改
149 ■■■■■ 已修改文件
config/config.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/widget.json 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
widgets/toolBarRight/view.html 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
widgets/toolBarRight/widget.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
widgetsTS/logoAndMenu/widget.js 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/config.json
@@ -47,10 +47,9 @@
      "geocoder": false,
      "geocoderConfig": { "key": ["ae29a37307840c7ae4a785ac905927e0"] },
      "selectionIndicator": false,
      "defaultContextMenu": true,
      "mouseDownView": true,
      "compass": { "bottom": "240px", "right": "5px" },
      "compass": { "top": "10px", "right": "5px" },
      "distanceLegend": { "left": "100px", "bottom": "2px" },
      "locationBar": {
        "fps": false,
config/widget.json
@@ -29,9 +29,9 @@
      "name": "右上角工具栏",
      "uri": "widgets/toolBarRight/widget.js",
      "css": {
        "top": "10px",
        "top": "15px",
        "left": "auto",
        "right": "10px"
        "right": "80px"
      }
    },
    {
widgets/toolBarRight/view.html
@@ -1,24 +1,3 @@
<!-- 2017-12-5 14:50:08 | 修改 木遥(微信:  http://marsgis.cn/weixin.html ) -->
<div class="toolBarRight animation-slide-top no-print-view">
  <!--<button type="button" class="widget-btn btn btn-link toolBarRight-btn " onclick="mars3d.widget.disableAll()">
        <i class="fa fa-globe"></i>漫游
    </button>
    <button type="button" class="widget-btn btn btn-link toolBarRight-btn " data-widget="widgets/manageBasemaps/widget.js">
        <i class="fa fa-map"></i>地图
    </button>
    <button type="button" class="widget-btn btn btn-link toolBarRight-btn " data-widget="widgets/measure/widget.js">
        <i class="fa fa-share-alt"></i>测量
    </button>
    <div class="btn-group">
        <button type="button" class="btn btn-link toolBarRight-btn dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
            <i class="fa fa-cubes"></i>工具 <span class="caret"></span>
        </button>
        <ul class="dropdown-menu dropdown-menu-right" style="min-width: 110px;">
            <li class="widget-btn" data-widget="widgets/manageLayers/widget.js"><a href="javascript:void(0)"><i class="fa fa-tasks"></i>图层控制</a></li>
            <li class="widget-btn" data-widget="widgets/addmarker/widget.js"><a href="javascript:void(0)"><i class="fa fa-edit"></i>我的标记</a></li>
           </ul>
    </div>-->
</div>
widgets/toolBarRight/widget.js
@@ -15,17 +15,16 @@
    create() {
      //此数据也可以放在widget.json的配置中,但是发现很多人容易引起同名误解,所以还是放在这里
      this.data = this.config.data || [
        { name: "底图", icon: "fa fa-map", widget: "widgets/manageBasemaps/widget.js" },
        { name: "图层", icon: "fa fa-tasks", widget: "widgets/manageLayers/widget.js" },
        { name: "监测业务", icon: "fa fa-tasks", widget: "widgets/manageLayers/widget.js" },
        { name: "地图底图", icon: "fa fa-map", widget: "widgets/manageBasemaps/widget.js" },
        {
          name: "工具",
          name: "地图工具",
          icon: "fa fa-cubes",
          children: [
            { name: "图上量算", icon: "fa fa-calculator", widget: "widgets/measure/widget.js" },
            { name: "坐标定位", icon: "fa fa-map-pin", widget: "widgets/centerXY/widget.js" },
            { name: "视角书签", icon: "fa fa-tags", widget: "widgets/bookmark/widget.js" },
            { name: "地图打印", icon: "fa fa-print", widget: "widgets/print/widget.js" },
            { name: "飞行漫游", icon: "fa fa-send-o", widget: "widgets/roamLine/widget.js" },
            { name: "路线导航", icon: "fa fa-level-up", widget: "widgets/queryRoute/widget.js" }
widgetsTS/logoAndMenu/widget.js
@@ -14,32 +14,7 @@
    //初始化[仅执行1次]
    create() {
      //此数据也可以放在widget.json的配置中,但是发现很多人容易引起同名误解,所以还是放在这里
      this.data = this.config.data || [
        { name: "底图", icon: "fa fa-map", widget: "widgets/manageBasemaps/widget.js" },
        { name: "图层", icon: "fa fa-tasks", widget: "widgets/manageLayers/widget.js" },
        {
          name: "工具",
          icon: "fa fa-cubes",
          children: [
            { name: "图上量算", icon: "fa fa-calculator", widget: "widgets/measure/widget.js" },
            { name: "空间分析", icon: "fa fa-bar-chart", widget: "widgets/analysis/widget.js" },
            { name: "坐标定位", icon: "fa fa-map-pin", widget: "widgets/centerXY/widget.js" },
            { name: "地区导航", icon: "fa fa-paper-plane", widget: "widgets/navXZQH/widget.js" },
            { name: "我的标记", icon: "fa fa-edit", widget: "widgets/addmarker/widget.js" },
            { name: "视角书签", icon: "fa fa-tags", widget: "widgets/bookmark/widget.js" },
            { name: "地图打印", icon: "fa fa-print", widget: "widgets/print/widget.js" },
            { name: "图上标绘", icon: "fa fa-object-group", widget: "widgets/plot/widget.js" },
            { name: "飞行漫游", icon: "fa fa-send-o", widget: "widgets/roamLine/widget.js" },
            { name: "路线导航", icon: "fa fa-level-up", widget: "widgets/queryRoute/widget.js" },
            { name: "卷帘对比", icon: "fa fa-columns", widget: "widgets/mapSplit/widget.js" },
            { name: "分屏对比", icon: "fa fa-window-restore", widget: "widgets/mapCompare/widget.js" },
            { name: "百度街景", icon: "fa fa-street-view", widget: "widgets/streetscape/widget.js" },
          ],
        },
      ];
    }
    //每个窗口创建完成后调用
@@ -48,91 +23,8 @@
        return;
      }
      var arr = this.data;
      //移动设备上,处理下菜单层次
      if (!haoutil.system.isPCBroswer() && arr.length == 3 && arr[0].children) {
        var item1 = arr.shift();
        var item2 = arr.shift();
        arr[0].children.insert(item2, 0);
        arr[0].children.insert(item1, 0);
      }
      this.initMenu(arr);
    }
    //构造 菜单
    initMenu(arr) {
      var widgetObj = {};
      var inhtml = "";
      for (var i = 0, len = arr.length; i < len; i++) {
        var item = arr[i];
        if (item.hasOwnProperty("visible") && !item.visible) {
          continue;
        }
        if (item.children) {
          //分组
          inhtml += `<div class="btn-group">
            <button type="button" class="btn btn-link toolBarRight-btn dropdown-toggle" data-toggle="dropdown" aria-expanded="false" >
                <i class="${item.icon}"></i>${item.name}<span class="caret"></span>
            </button>
            <ul class="dropdown-menu dropdown-menu-right toolBarRight-dropdown-menu" >`;
          for (let j = 0, jlen = item.children.length; j < jlen; j++) {
            let children_item = item.children[j];
            if (children_item.hasOwnProperty("visible") && !children_item.visible) {
              continue;
            }
            let ex = "";
            if (children_item.onclick) {
              ex = 'onclick="' + children_item.onclick + '"';
            } else if (children_item.widget) {
              ex = 'data-widget="' + children_item.widget + '"';
            }
            inhtml += `<li class="widget-btn" ${ex} >
                          <a href="javascript:void(0)"><i class="${children_item.icon}"></i>${children_item.name}</a>
                       </li>`;
            widgetObj[children_item.widget] = children_item;
          }
          inhtml += " </ul></div>";
        } else {
          //不是分组
          let ex = "";
          if (item.onclick) {
            ex = 'onclick="' + item.onclick + '"';
          } else if (item.widget) {
            ex = 'data-widget="' + item.widget + '"';
          }
          inhtml += `<button type="button" class="widget-btn btn btn-link toolBarRight-btn " ${ex} >\
                       <i class="${item.icon}"></i>${item.name}
                    </button>`;
          widgetObj[item.widget] = item;
        }
      }
      $(".toolBarRight").html(inhtml);
      $(".toolBarRight .widget-btn").click(function () {
        var uri = $(this).attr("data-widget");
        if (haoutil.isutil.isNull(uri)) {
          return;
        }
        // console.log('单击了工具栏:' + uri);
        if (mars3d.widget.isActivate(uri)) {
          mars3d.widget.disable(uri);
        } else {
          var opt = {
            ...(widgetObj[uri] || {}),
            uri: uri,
          };
          mars3d.widget.activate(opt);
        }
      });
    }
    //激活插件
    activate() {}
    //释放插件