所有 ov.Widget
加入 OGC I3S 圖層。
參數物件。
// O'view MapServer I3S 的服務網址規則為
// {MapServerUrl}/i3s/rest/services/{LayerName}/SceneServer/layers/0
terrainView.addOGCI3SLayer({
url: "http://localhost:8080/i3s/rest/services/Sample/SceneServer/layers/0",
callback: (success, layer, err) => {
if (success) {
console.log(layer.name);
} else {
console.error(err);
}
}
});
恢復地形檔的WMTS影像。
是否恢復成功。
執行圖台指令
執行圖台指令參數
取得XR手把射線長度。
設線長度。
移除所有XR手把事件。
設定XR手把射線長度。
設線長度。
更新XR參數設定。
XR設定參數。
新增VR空間下的自畫圖素,會隨著頭盔更新位置。
自畫圖素。
相對頭盔的位置。
位置的參數名稱。
位置方位是否固定。
關閉VR。
校正ARHitTest平面於地表,需在初始化時有開啟HitTest。
取得AR/VR的空間資訊
空間資訊
初始化AR,需在https或localhost下。 如果系統支援AR,按鈕會變得可按。 啟動選項參閱 XRSystem.requestSession
按鈕元件。
AR啟動後的回呼函式。
AR啟動選項。
var terrainView = new ov.TerrainView("canvas"));
terrainView.initAR(button, function(){
console.log("AR");
//建議關閉外太空,大氣,清除色,避免蓋住相機畫面
terrainView.enableOuterSpaceBox = false;
terrainView.enableAtmosphere = false;
terrainView.backgroundColor = new ov.Color("#00000000");
},
{
requiredFeatures: ["hit-test"], //請求hitTest功能
optionalFeatures: ["dom-overlay"], //請求dom套疊功能
domOverlay: {
root: document.getElementById("MyControl") //設定要套疊在AR上的dom
}
});
初始化VR,需在https或localhost下。 如果系統支援VR,按鈕會變得可按。
按鈕元件。
VR啟動後的回呼函式。
設定模型於ARHitTest平面上,需在初始化時有開啟HitTest。
glTF模型來源,如果沒指定會使用預設模型
離平面高度(m)
是否為絕對高
加入事件監聽器
事件名稱,目前支援以下事件
事件觸發時要執行的回呼函式。
是否加入成功。
取得渲染環境的狀態。
渲染環境的狀態。
移除事件監聽器。
事件名稱,參考 addEventListener。
加入時的事件回呼。
是否移除成功。
設定圖素選取模式,預設為 SELECT_TYPE.SELECT_REPLACE,如需點選多個圖素可設置為 SELECT_TYPE.SELECT_ADD
按住 Ctrl 亦可以觸發多選模式
選取類型。
清除所有被選取的圖素。
使用 File 新增Mesh, CFileMesh 不用時需自行呼叫 CFileMesh.Release。
ServerUrl。
File物件。
網址字串模板,可給代理如PROXY_URL/{URL}。
開啟完成後的回呼函式。
可選format: "integrate" | "blob" | "json"回呼函式回傳的資料格式。
取得攝影機離當前地面幾何的高度差。
離地表的高度。
取得地形節點載入的狀態百分比。
地形節點載入的狀態百分比。
清除所有固定地形節點Level的範圍。
設定地形開始淡出淡出參數。
參數。
完全消失的距離。
開始淡出的距離。
開啟地形淡出淡出。
設定海平面高度。
海平面高度。
是否設定成功。
設定海渲染品質,預設為normal。
是否設定成功。
刪除所有indexedDB快取
可選storeName: DBStoreName限制刪除的圖層種類,預設刪除所有資料表。
可選callback: (ev: LayerCacheDeletedEvent) => void成功刪除callback。
刪除比指定時間舊的indexedDB快取
時間。
可選storeName: DBStoreName限制刪除的圖層種類,預設刪除所有資料表中符合條件的資料。
可選callback: (ev: LayerCacheDeletedEvent) => void成功刪除callback。
設定是否能以鍵盤、滑鼠或觸控操作圖台。
是否能以輸入方式操作圖台。
攝影機的方位角開始旋轉。
旋轉速度(Deg/Sec),正表示順時針,負表示逆時針。
攝影機開始水平的移動。
縮放速度(畫面/sec),正表示前進,負表示後退。
方向角(以自己的北方為0)。
攝影機的俯仰角開始旋轉。
旋轉速度(Deg/Sec),正表示越來越垂直,負表示越來越水平。
攝影機開始縮放。
縮放速度(畫面/sec),正表示前進,負表示後退。
停止攝影機。
取得圖台水平視野角度(Fov)。
圖台水平視野角度(Fov)。
移動至指定位置,單位是圖面坐標。
要飛到p點。
可選distance: number距離。
可選keepPosture: boolean代表是否要保持目前姿態。
可選epsg: number目標坐標的epsg,若不輸入會將輸入坐標視為與地形同epsg。
可選onFinish: () => void移動完成後執行的回呼。
可選onAbort: () => void移動被中斷執行的回呼。
移動至指定位置,並鎖定一個指定中心圍繞旋轉。
要飛到並鎖定中心點。
可選distance: number離中心點的距離。
可選focusParam: {可選polarAngle: number移動完畢後,攝影機相對中心點的天頂角。
可選azimuthAngle: number移動完畢後,攝影機相對中心點的方位角。
可選timeout: number完成移動的總時間(毫秒)。
可選epsg: number指定focusPoint參數的EPSG。
可選onFinish: () => void移動完成後執行的回呼。
可選onAbort: () => void移動被中斷執行的回呼。
移動到設定的攝影機位置。
攝影機參數。
可選jump: booleantrue:跳,false:瞬移。
可選onFinish: () => voidjump 成功後執行的回呼。
可選onAbort: () => voidjump 被中斷執行的回呼。
隨機飛到任意點。
重設移動模式鍵盤映射。
重設移動模式滑鼠映射。
繞著指定坐標維持固定距離旋轉。
旋轉的中心點。
旋轉的速率,單位為Deg/Sec。
可選maxRotArg: number= 0 最多只旋轉幾度,若0或沒輸入,代表一直旋轉。
可選lookAtCenter: boolean= true 旋轉時,是否一直看著中心。
設定攝影機的方位角。
方向角(以自己的北方為0)。
設置圖台水平視野角度(Fov)。
水平視野角度(Field of View)。
是否設置成功。
設置操作模式。
操作模式。
操作模式的參數,參考 MOVE_TYPE
設定攝影機的俯仰角。
俯仰角(水平為0,俯正仰負)。
更新目前操作模式的參數。
操作模式的參數,參考 TerrainView.MoveModeOptionsMap
添加定時顯示事件。
開始顯示時間(包含)。
結束顯示時間(包含)。
任何支援show的圖層或實體(ov.TerrainOverlay/ov.Layer/ov.CustomLayer/ov.CustomEntity等)。
事件編號。
移除時間事件。
事件編號。
移除是否成功。
開關時間事件。
事件編號。
是否啟用事件。
中斷測量
呼叫 OnMeasureCompleted({success:false, length: 0, measureObj:null});。
清除測量結束產生的作畫。
設定測量是否比地形晚畫,預設為true。
是否比地形晚畫。
設定測量用的Epsg,測量的計算上會先轉成此Epsg才計算,不接受4326。
測量用的Epsg。
是否設定成功。
設定測量中凍結滑鼠點擊,預設為true。
是否凍結滑鼠點擊。
取得畫圖的FPS。
畫圖的FPS。
更新畫面。
設定游標樣式,若使用url,網址請用雙引號包起來,整組字串請用單引號包起來,
如'url("http://localhost:35727/webgl/texture/red.png") 2 2, pointer'。
參數。
設定裁切空間,會直接清除舊的裁切空間,可作用於ModelLayer、ModelSetLayer、OGCI3SLayer、OGC3DTilesLayer、PhotogrammetryLayer、PipelineLayer、PointCloudLayer。
可選param: SliceSpaceSetOptions參數物件。
中斷輸入。
完成輸入。
最佳解說員的劇本集合
最佳解說員面板開關狀態,需加入 material-icons.css
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
或參照 Google Fonts Material Icons Guide設置離線版本。
最佳解說員面板開關狀態
新增疊加圖層切窗視窗。
參數。
視窗長(0.0~1.0)。
距離左側邊界(0.0~1.0)。
視窗名稱。
距離上方邊界(0.0~1.0)。
視窗寬(0.0~1.0)。
疊加圖層切窗視窗物件。
加入 自畫疊加圖層。
參數物件。
可選callback: (ev: OverlayAddedEvent) => void執行新增疊加圖層後的回呼函式。
可選index: number插入索引,若沒有填值則視為加在最後面。
圖層物件,若加入失敗則為null。
加入 溝渠疊加圖層。
可選callback: (ev: OverlayAddedEvent) => void執行新增疊加圖層後的回呼函式。
可選index: number插入索引,若沒有填值則視為加在最後面。
圖層物件,若加入失敗則為null。
加入 熱圖疊加圖層。
可選callback: (ev: HeatmapOverlayAddedEvent) => void執行新增疊加圖層後的回呼函式。
可選index: number插入索引,若沒有填值則視為加在最後面。
圖層物件,若加入失敗則為null。
加入 地景疊加圖層。
可選callback: (ev: OverlayAddedEvent) => void執行新增疊加圖層後的回呼函式。
可選index: number插入索引,若沒有填值則視為加在最後面。
圖層物件,若加入失敗則為null。
加入 單影像疊加圖層。
可選callback: (ev: OverlayAddedEvent) => void執行新增疊加圖層後的回呼函式。
可選index: number插入索引,若沒有填值則視為加在最後面。
圖層物件,若加入失敗則為null。
加入 Vector Tile疊加圖層。
可選callback: (ev: OverlayAddedEvent) => void執行新增疊加圖層後的回呼函式
可選index: number插入索引,若沒有填值則視為加在最後面
圖層物件,若加入失敗則為null。
terrainView.addTerrainVectorTileOverlay({
url: "http://127.0.0.1:8080/3857/TEST_VECTORTILE/{z}/{x}/{y}.vector.mvt",
layername: "test_vt",
minLevel: 9,
maxLevel: 30,
opacity: 1.0,
isGeoJson: false,
pointSetting: {
textLabel: "show_text_label",
fontLabel: "show_font_label",
fadeEffect: true,
allowOverlapping: false,
groundLineColor: new ov.Color("#FF0000"),
fontTable: {
DEFAULT: {
font: "微軟正黑體",
fontSize: 16,
fontColor: "#e0e0e0",
fontBorderSize: 3,
fontBorderColor: "#000000",
pullUpY: 0,
pullUpYUnit: 0,
},
text_label_1:{
font: "微軟正黑體",
fontSize: 20,
fontColor: "#d0d000",
fontBorderSize: 5,
fontBorderColor: "#000000",
pullUpY: 400
}
}
},
polylineSetting:{
colorLabel: "show_color_label",
realWorldWidth: false,
simpleDraw: false,
fadeEffect: true,
colorTable: {
DEFAULT: {
color: "#e0e0e080"
},
color_label_1: {
color: "#e0e00080"
}
}
},
polygonSetting: {
colorLabel:"show_color_label",
colorTable: {
DEFAULT: {
fillColor: "#ffffff80",
boundaryColor: "#000000ff",
boundaryWidth: 2
},
color_label_2: {
fillColor: "#d0d000d0",
boundaryColor: "#ff0000ff",
boundaryWidth: 2
}
}
}
}, console.log);
加入 可視化資料網格疊加圖層。
參數物件。
可選callback: (ev: OverlayAddedEvent) => void執行新增疊加圖層後的回呼函式。
可選index: number插入索引,若沒有填值則視為加在最後面。
圖層物件,若加入失敗則為null。
加入 WFS疊加圖層。
參數物件。
可選callback: (ev: OverlayAddedEvent) => void執行新增疊加圖層後的回呼函式。
可選index: number插入索引,若沒有填值則視為加在最後面。
圖層物件,若加入失敗則為null。
加入 WMS疊加圖層。
可選callback: (ev: OverlayAddedEvent) => void執行新增疊加圖層後的回呼函式。
可選index: number插入索引,若沒有填值則視為加在最後面。
圖層物件,若加入失敗則為null。
加入 WMTS疊加圖層。
參數物件。
可選callback: (ev: OverlayAddedEvent) => void執行新增疊加圖層後的回呼函式。
可選index: number插入索引,若沒有填值則視為加在最後面。
圖層物件,若加入失敗則為null。
回傳指定索引或名稱疊加圖層切窗視窗。
索引值或名稱。
疊加圖層切窗視窗物件。
回傳所有疊加圖層切窗視窗。
可選index: string | number所有疊加圖層切窗視窗物件。
取得地形 的 疊加圖層 。
可選index: string | number索引或圖層名稱。
疊加圖層。
取得可視化資料網格資料參數epsg轉換所需資訊
參數物件。
資料所在範圍。
此資料範圍的EPSG。
資料高。
資料寬。
可選sampleRatio?: number1.0 取樣比例,建議使用預設1.0或依照取樣定理設為2.0,越大處理時間越長。
資訊物件,內含轉換過後新的boundary、Width、Height與資料位置對照資訊。
移動地形的Overlay的順序,注意移動非交換,其餘圖層會保持原順序排列,如[0, 1, 2]->[2, 0, 1],若失敗則不移動。
原本的index,也可以給圖層名稱當作索引。
新的index,也可以給圖層名稱當作索引。
是否成功。
正規化可視化資料網格參數,將會把可視化資料網格的資料轉換到系統需要的4326座標
參數物件。
圖層資料位置。
參數物件。
資料高。
參數物件。
資料寬。
可選flipY?: boolean資料源是否翻轉Y軸。
可選liftSource?: Float32Array<ArrayBufferLike>[]圖層抬升資料位置。
可選noDataValue?: number空資料數值。
轉換資訊。
移除地形的疊加圖層,會造成後面的圖層往前移。
index或圖層名稱或手柄。
是否成功。
設置條件式向量圖層。
參數物件。
外框線顏色(#argb)。
內部填滿色(#argb)。
在MapServer上圖層的名稱。
MapServer網址。
可選conditions?: { SQL: string; [setting: string]: string }[]條件陣列(參數可參考MapServer上向量圖層的條件設定)。
可選extraSettings?: { [setting: string]: string }上述沒包含的參數,放此物件上(例:setting.extraSettings.LineWidth = "2")。
執行完成後的回呼。
let setting = {
url: "http://127.0.0.1:8080",
layerName: "town",
drawColor: "#FFFF0000", //紅色
fillColor: "#FFFFFF00", //黃色
extraSettings: {
LineWidth: "2"
},
conditions: [
//1.將臺中市以外隱藏
{ SQL: "COUNTYNAME !='臺中市'", Show: "0" },
//2.將西屯區設為綠色
{ SQL: "TOWNNAME = '西屯區'", FillColor: "#FF00FF00" },
//3.將南屯區設為紅色
{ SQL: "TOWNNAME = '南屯區'", FillColor: "#FF0000FF" }
]
}
terrainView.setConditionOverlayLayer(setting);
交換地形的疊加圖層的順序,若失敗則不交換。
第一個圖層的index,也可以給圖層名稱當作索引。
第二個圖層的index,也可以給圖層名稱當作索引。
是否成功。
取得地形的作畫設定。 同 getDrawTerrainSetting。
是否為球體
取得地形圖層名稱
球體的 EPSG
地形不透明度 (預設1.0,介於 0~1.0)
地形不透明度 (預設1.0,介於 0~1.0)
地形的原始 EPSG
地形可以被HitTest的最小不透明度閾值 (預設0.9,介於0 ~ 1.0),若地形不透明度低於此值,則引擎允許點擊地形下的三角面。
地形可以被HitTest的最小不透明度閾值 (預設0.9,介於0 ~ 1.0),若地形不透明度低於此值,則引擎允許點擊地形下的三角面。
地形圖層連結
雲的特性。
是否畫天空大氣,預設為開
是否畫天空大氣,預設為開
大氣的開關
大氣的開關
是否畫雲,預設為關。
是否畫雲,預設為關。
光線的開關
光線的開關
外太空的開關
外太空的開關
是否畫海洋,預設為關
是否畫海洋,預設為關
陰影的開關
陰影的開關
是否畫太陽貼圖,預設為開
是否畫太陽貼圖,預設為開
是否開啟體積光散射,預設為關
是否開啟體積光散射,預設為關
光線的特性
是否顯示控制面板
凍結鍵盤控制
凍結鍵盤控制
凍結滑鼠控制(只能用控制攝影機的方式處理) *
凍結滑鼠控制(只能用控制攝影機的方式處理)
凍結使用者輸入控制對Viewport的控制(凍結滑鼠與鍵盤)
凍結使用者輸入控制對Viewport的控制(凍結滑鼠與鍵盤) *
取得目前攝影機姿態
最小的離地表高度
初始化時,系統會依據地形影像的解析度來決定,使用者可於初始化後自行設定
最小的離地表高度
初始化時,系統會依據地形影像的解析度來決定,使用者可於初始化後自行設定
移動模式:如面板模式、滑鼠模式、旋轉模式等...
移動模式:如面板模式、滑鼠模式、旋轉模式等...
是否能穿越地表
是否能穿越地表
是否在場景中畫光線方向圖
是否在場景中畫光線方向圖
是否啟用對數深度緩衝。 可以看得更遠,但會失去抗鋸齒效果、降低效能。
是否啟用對數深度緩衝。 可以看得更遠,但會失去抗鋸齒效果、降低效能。
凍結畫面更新
凍結畫面更新
是否保持作畫,不會休息(預設為false若無變更就不會重新作畫)
是否保持作畫,不會休息(預設為false若無變更就不會重新作畫)
最大虛擬可視距離 (單位: 公尺),用於顯示太遠的物件,預設為 0 (自動控制)
最大虛擬可視距離 (單位: 公尺),用於顯示太遠的物件,預設為 0 (自動控制)
目前滑鼠的預設游標樣式
目前滑鼠的預設游標樣式
目前滑鼠的游標樣式設定
目前滑鼠的游標樣式設定
三維場景視圖