<!DOCTYPE html> <html> <head> <meta charset='UTF-8'/> <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no'/> <link rel='stylesheet'/> <script src='http://bigemap.com:9000/bigemap-gl.js/v1.1.0/bigemap-gl.js'></script> <style> body { margin: 0; padding: 0; } #container { position: absolute; top: 0; bottom: 0; width: 100%; } .bmgl-widget-credits{display:none} </style> <title>part_test</title> </head> <body> <div id='container'></div> <script> bmgl.Config.HTTP_URL = 'http://bigemap.com:9000'; var viewer = new bmgl.Viewer('container', {mapId: 'bigemap.zhongkexingtu'}); var tilesets = new bmgl.BM3DTileset({ url:'/bmgl/data/osgb_house/tileset.json', skipLevelOfDetail: true, maximumNumberOfLoadedTiles: 1000000, // 最大加載的 tile 數量 // baseScreenSpaceError: 4096, maximumScreenSpaceError: 64, // 數值加大,能讓最終成像變模糊 // skipScreenSpaceErrorFactor: 2048, // skipLevels: 1, immediatelyLoadDesiredLevelOfDetail: false, loadSiblings: false, // 如果為true則不會在已加載完概況房屋后,自動從中心開始超清化房屋 cullWithChildrenBounds: true, cullRequestsWhileMoving: true, cullRequestsWhileMovingMultiplier: 1, // 值越小能夠更快的剔除 preloadWhenHidden: true, preferLeaves: false, maximumMemoryUsage: 3600, // 內存分配變小有利于傾斜攝影數據回收,提升性能體驗 maximumScreenSpaceError: 24, // 數值加大,能讓最終成像變模糊 數值越小顯示的畫面會月精美,同時會增加內存消耗,最小是0,默認值為16 preloadWhenHidden: true, // 當 tileset 隱藏時進行預加載 preloadFlightDuration: 10, // 預加載飛行過程中的數據,數值越大,預加載的范圍越廣 // loadSiblings: true, // 如果為true則不會在已加載完概況房屋后,自動從中心開始超清化房屋 show: true, //它控制BM3DTileset是否可見 dynamicScreenSpaceErrorDensity: 10000000000, //數值加大,能讓周邊加載變快 }); tilesets.readyPromise.then(function(tileset) { 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); 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,40.0); var translation = bmgl.Cartesian3.subtract(offset, surface, new bmgl.Cartesian3()); tileset.modelMatrix = bmgl.Matrix4.fromTranslation(translation); }).otherwise(function(error) { console.log(error); }); </script> </body> </html>