BIGEMAP卫星地图_高清卫星地图_北斗高清地图_地图软件_矢量地图数据_专题地图

顯示源代碼
線點逐步顯示
 開發(fā)文檔
            <!DOCTYPE html>
<html>

<head>
  <meta charset='UTF-8' />
  <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
  <link href='http://www.cnhrsm.com:9000/bigemap-gl.js/v1.1.0/Widgets/widgets.css' rel='stylesheet' />
  <script src='http://www.cnhrsm.com:9000/bigemap-gl.js/v1.1.0/bigemap-gl.js'></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/dat-gui/0.7.9/dat.gui.js"></script>
  <style>
    body {
      margin: 0;
      padding: 0;
    }

    #container {
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100%;
    }

    .bmgl-widget-credits {
      display: none
    }

    #my-gui-container {
      position: absolute;
      left: 20px;
      top: 0;
    }
  </style>
  <title>part_test</title>
</head>

<body>
  <div id='container'></div>

  <div id="my-gui-container"></div>
  <script>
    bmgl.Config.HTTP_URL = 'http://www.cnhrsm.com:9000';
    var viewer = new bmgl.Viewer('container', {
      mapId: 'bigemap.arcgis-satellite',
      shouldAnimate: true,
      requestRenderMode: true, //及時更新
    });
    // viewer.imageryLayers.add(new bmgl.ImageryLayer(new bmgl.BMImageryProvider({
    //   mapId: 'bigemap.tian2-terrainstreets-c',
    // })));
    var FizzyText = function () {
      this.useTerrian = true
      this.togleTerrian = function () {
        this.useTerrian = !this.useTerrian;
        viewer.scene.globe.depthTestAgainstTerrain = this.useTerrian;
        console.log(56, this.useTerrian, viewer.scene.globe.depthTestAgainstTerrain);
      };
      this.height = 113;
      this.color = [0, 128, 255, 0.3];
      this.backCamera = function () { viewer.flyTo(tilesets) };
    };
    var text = new FizzyText();
    var gui = new dat.GUI({ autoPlace: false });
    var customContainer = document.getElementById('my-gui-container');
    customContainer.appendChild(gui.domElement);
    gui.add(text, 'togleTerrian').name('切換地形遮擋狀態(tài)');
    var heightControl = gui.add(text, 'height', -300, 300, 10).name('高度');
    gui.add(text, 'backCamera').name('飛向模型');
    var array = [117.704, 39.82
      , 117.64, 39.805
      , 117.596, 39.794
      , 117.555, 39.8
      , 117.5, 39.79
      , 117.445, 39.782
      , 117.424, 39.775
      , 117.374, 39.785
      , 117.337, 39.799
      , 117.299, 39.812
      , 117.263, 39.845
      , 117.233, 39.862
      , 117.202, 39.88
      , 117.183, 39.885
      , 117.117, 39.912
      , 117.058, 39.931
      , 116.999, 39.939
      , 116.954, 39.945
      , 116.914, 39.955];
    // var scene = viewer.scene;
    // var handler = new bmgl.ScreenSpaceEventHandler(scene.canvas);
    // var ellipsoid = scene.globe.ellipsoid;
    // handler.setInputAction(function (movement) {
    //   var cartesian = viewer.camera.pickEllipsoid(movement.position, ellipsoid);//movement.endPosition
    //   if (cartesian) {
    //     //將笛卡爾坐標轉換為地理坐標
    //     var cartographic = bmgl.Cartographic.fromCartesian(cartesian);
    //     var longitudeString = bmgl.Math.toDegrees(cartographic.longitude).toFixed(3);
    //     var latitudeString = bmgl.Math.toDegrees(cartographic.latitude).toFixed(3);
    //     //獲取相機高度
    //     var height = Math.ceil(viewer.camera.positionCartographic.height);
    //     text.center = `${longitudeString}, ${latitudeString}, ${height}`
    //     console.log(longitudeString, latitudeString, height);
    //     // array.push([longitudeString, latitudeString])
    //   }
    // }, bmgl.ScreenSpaceEventType.LEFT_CLICK);
    //啟用地形遮擋
    var tilesets = new bmgl.BM3DTileset({
      url: '/bmgl/data/road2/tileset.json'
    });
    tilesets.readyPromise.then(function (tileset) {
      // tileset.luminanceAtZenith=0.4;//設置天空光照
      viewer.scene.primitives.add(tileset);
      default_HeadingPitchRange = new bmgl.HeadingPitchRange(0.0, -0.5, tileset.boundingSphere.radius * 2.0);
      viewer.zoomTo(tileset, default_HeadingPitchRange);
      var cartographic = bmgl.Cartographic.fromCartesian(tileset.boundingSphere.center);
      console.log(cartographic.longitude, cartographic.latitude, 92, delta_lng, delta_lat);
      var delta_lng = 0,
        delta_lat = 0;
      var surface = bmgl.Cartesian3.fromRadians(cartographic.longitude + delta_lng, cartographic.latitude +
        delta_lat, 0.0);
      var offset = bmgl.Cartesian3.fromRadians(cartographic.longitude + delta_lng, cartographic.latitude +
        delta_lat, 30);
      var translation = bmgl.Cartesian3.subtract(offset, surface, new bmgl.Cartesian3());
      tileset.modelMatrix = bmgl.Matrix4.fromTranslation(translation);
      heightControl.onFinishChange(function (value) {
        var surface = bmgl.Cartesian3.fromRadians(cartographic.longitude + delta_lng, cartographic.latitude +
          delta_lat, 0.0);
        var offset = bmgl.Cartesian3.fromRadians(cartographic.longitude + delta_lng, cartographic.latitude +
          delta_lat, value);
        var translation = bmgl.Cartesian3.subtract(offset, surface, new bmgl.Cartesian3());
        tileset.modelMatrix = bmgl.Matrix4.fromTranslation(translation);
      });
    }).otherwise(function (error) {
      console.log(error);
    });
    var glowingLine = viewer.entities.add({
      name: 'line',
      polyline: {
        positions: bmgl.Cartesian3.fromDegreesArray(array),
        width: 10,
        material: bmgl.Color.RED.withAlpha(0.6),
        clampToGround: true,
        classificationType: bmgl.ClassificationType.TERRAIN
      }
    });
    var pointArray = [];
    for (let i = 0; i < array.length; i += 2) {
      const element = [array[i], array[i + 1]];
      var point = viewer.entities.add({
        position: bmgl.Cartesian3.fromDegrees(...element),
        point: {
          pixelSize: 20,
          color: new bmgl.CallbackProperty(function color(time, result) {
            var txf = Math.floor(time.secondsOfDay);
            var result = ""
            if (txf % 2 == 0) {//間隔兩秒變換
              result = bmgl.Color.GREEN;
            } else {
              result = bmgl.Color.BLUE;
            }
            return result;
          }, false),
          disableDepthTestDistance: 3000,
          distanceDisplayCondition: new bmgl.DistanceDisplayCondition(0, 6000),
        },
        label: {
          scale: 1,
          heightReference: bmgl.HeightReference.CLAMP_TO_GROUND,
          fillColor: bmgl.Color.BLUE,
          text: `xx線路${(i + 2) / 2}號監(jiān)測點`,
          verticalOrigin: bmgl.VerticalOrigin.BOTTOM,
          pixelOffset: new bmgl.Cartesian2(0, -15),
          distanceDisplayCondition: new bmgl.DistanceDisplayCondition(0, 3000),
        },
      });
      pointArray.push(point)
    }

  </script>
</body>

</html>                                                
主站蜘蛛池模板: 郑州同林-金属切削液,全合成,半合成,防锈水溶性,微乳,油基长寿乳化切削液生产厂家 | 磨粉设备_雷蒙磨粉机_雷蒙超细磨| 昆明纸箱厂-礼盒定制-包装盒定做-纸箱厂-云南包掌柜包装有限公司 | 威海华东数控股份有限公司| 微机继电保护测试仪,单相继电保护测试仪,三相继电保护测试仪,六相继电保护测试仪,介质损耗测试仪,氧化锌避雷器测试仪,无线核相仪-扬州豪泰电力科技有限公司 | 五金冲压件生产厂家_加工五金拉伸件-沧州浚鼎机械制造有限公司-沧州浚鼎机械制造有限公司 | 铁谷网-垂直于铸造产业链服务平台、原材料采购网、行业资讯网 | 郑州井盖雨水篦子厂家-建联建材 郑州建网站,郑州做网站,郑州网站建设,郑州网站制作,郑州高端定制网站,郑州APP开发 | 展馆周边酒店_会展中心附近酒店_展览旅游酒店预订官网-盟友云 | 鲜淘网 - 精选全球水果蔬菜肉食海产生鲜,酒水食品零食加盟供求信息 | 液压升降货梯_导轨式升降机_往复式提升机_济南宇轩机械厂家 | 铝合金线棒生产厂家-提供第三代精益管,防静电工作台定制与批发-宁波杰艾逖仓储设备有限公司 | 机锋网-畅享科技品质生活,尽在机锋网| 环链电动葫芦_钢丝绳电动葫芦_电动葫芦厂家_上海沪工起重机械有限公司 | 上海便携式液体_日本理音液体_HACH液体颗粒计数器,metone尘埃粒子计数器-上海翰森科学仪器有限公司 | 山东长青石油液压机械有限公司-致力于石油机械设备的研发制造,提供定制服务 | 全自动拆包机,自动拆包机,全自动逐层拆包机,全自动吨袋拆包机,吨袋拆包机,管链输送机,气流分级机 | 唐山森林光线影视文化有限公司| 永康微网站建设、永康手机网站建设、永康营销型网站建设、永康外贸网站建设、永康网站托管、永康网络公司—英汇网络 - 永康市英汇网络技术有限公司 | 天津实验室纯水机-GMP认证制药纯化水设备-天津开发区瑞尔环保科技有限公司 | 扬州华工电气有限公司|环氧树脂管|金刚石绝缘板|U型绝缘槽|电解槽绝缘材料 | 康拓威技术(深圳)有限公司|Theia镜头代理商|安讯士AXIS摄像机|安讯士监控系统|博世BOSCH监控|博世会议系统|索尼SONY监控|松下PANASONIC监控|三星韩华SAMSUNG监控|霍尼韦尔Honeywell|海康|大华|华为监控|Theia无畸变镜头|AXIS监控|安讯视摄像机 | 印刷公司,北京印刷厂,宣传画册手册印刷厂-和智印彩页设计 | 激光清洗机_激光除锈机_激光焊接机 - 上海锡昊激光科技有限公司 激光切管机_等离子切管机_相贯线切管机厂家|服务为先-山东美峰智能设备有限公司 | 型煤锅炉进煤机|型煤链条炉排 |重型板链除渣机 |丹东刮板输送机|丹东脱硫除尘器-铧洋机械 | 智能访客系统 - 来访登记系统_微信预约系统_人员出入管理系统_访客机_人脸识别系统门禁闸机 | 耐腐蚀磁力泵,直立式耐酸碱泵,立式耐酸碱泵,自吸式耐酸碱泵-杰凯泵业【官网】 | 上海纳美鞋业有限公司| 造雪机|人工造雪机|造雪机价格|造雪机厂家-河南晋安机械科技有限公司 | 宁波搬家_宁波搬家公司_宁波搬厂_专业搬家搬厂-「宁波喜洋洋搬家公司」 | 罗茨鼓风机价格_三叶罗茨鼓风机厂家-山东锦工有限公司 | 塑料模具公司,塑料包装桶厂家,PET打包带厂家,缠绕膜厂家-新疆福吉亚工贸有限公司 | 九江监控安装_九江安防监控_九江弱电工程公司-九江百信科技有限公司 | 我的建筑网-中国建筑工程行业门户网站! | 内蒙古慧申设计顾问有限公司-官网| 拓普思(常州)智能科技有限公司-青少年无人机教育培训比赛课程加盟拓活力 | 铝型材定制_东莞铝型材_散热器铝型材_工业铝合金型材挤压加工生产厂家价格-中亚铝业 | 江苏省阀门工业协会,江苏阀协| 商城网站建设_商城系统_响应式商城_小程序商城_FwShop | 手术无影灯生产厂家-提供电动手术台,电动产床定制与批发-山东华辰医疗设备有限公司 | 上海钧尚电器有限公司 - Faulhaber电机 AMETEK pittman电机 AMETEK ROTRON军用航空风机 Exlar电动缸 MAE电机 MCG电机 CP电动工具 马头工具 AMCI驱动器 直流电机 减速箱 直流伺服电机,无刷电机,直线电机 直流防爆电机 防爆电机 汽车助力转向电机 EPS电机 faulhaber motor faulhaber gearbox NANOTEC电机 ELWOOD电机 PHYTRON电机 EXLAR伺服电动缸 高力矩、高性能直流电机,音圈电机,风机,直流风机,航空风机 |