Class: RealTransferEngine

RealTransferEngine

轉換螢幕與世界座標系統的引擎(當然,也可用於轉換不同的兩個直角座標系統,如螢幕座標與影像座標系統)

new RealTransferEngine()

common/geometry/RealTransferEngine.js, line 5

Members

readonlyCenter

取得Viewport的中心點

Properties:
Name Type Description
Center GeoPoint

Viewport的中心點

EnableRange

是否允許限制範圍

Properties:
Name Type Description
EnableRange boolean

是否不可移動到整個Viewport的範圍(ViewportRange)之外

readonlyIsEmpty

是否是空的(還未設定的)

Properties:
Name Type Description
IsEmpty boolean

是否是空的

Methods

EnableInteger(do_integer)

common/geometry/RealTransferEngine.js, line 157

設定是否只能有整數的座標。

Name Type Description
do_integer boolean

是否只能有整數的座標。

EnableStretch(do_stretch)

common/geometry/RealTransferEngine.js, line 164

設定長與寬是否不需等比例(是否可變形)。

Name Type Description
do_stretch boolean

設定長與寬是否不需等比例。

GetCenter(){GeoPoint}

common/geometry/RealTransferEngine.js, line 402

取得目前Viewport的中心點。

Returns:
Type Description
GeoPoint 傳回Viewport的中心點。

GetUpdateArea(viewport, window){boolean}

common/geometry/RealTransferEngine.js, line 366

取得目前有資料的Viewport與Window的範圍,大部分狀況,與目前的Viewport與Window相同,但有些時候會不同,
想像一下,當Zoom Extend時,因為有資料的範圍的長寬比不一定和螢幕的長寬比相同,此時取得的Viewport與Window就和目前的Viewport與Window不同。

Name Type Description
viewport GeoBoundary

此為out參數,所以要在執行前先配置,執行後,傳回目前顯示中,有資料的Viewport範圍。

window GeoBoundary

此為out參數,所以要在執行前先配置,執行後,傳回目前顯示中,有資料的Window範圍。

Returns:
Type Description
boolean 傳回在目前畫面中,是否有資料。

GetViewport(){GeoBoundary}

common/geometry/RealTransferEngine.js, line 254

取得目前的Viewport範圍。

Returns:
Type Description
GeoBoundary 傳回目前的Viewport範圍。

GetViewportRange(){GeoBoundary}

common/geometry/RealTransferEngine.js, line 215

取得Viewport的最大範圍。

Returns:
Type Description
GeoBoundary 傳回Viewport的最大範圍。

GetWindow(){GeoBoundary}

common/geometry/RealTransferEngine.js, line 195

取得Window的範圍。

Returns:
Type Description
GeoBoundary 傳回Window的範圍。

Move(x, y){boolean}

common/geometry/RealTransferEngine.js, line 420

移動目前的Viewport。

Name Type Description
x number

水平移動距離。

y number

垂直移動距離。

Returns:
Type Description
boolean 傳回是否成功。

RemoveAll()

common/geometry/RealTransferEngine.js, line 448

清除所有的設定。

Restore()

common/geometry/RealTransferEngine.js, line 467

回放儲存起來的資料。

Save()

common/geometry/RealTransferEngine.js, line 459

將目前設定儲存起來。

Scale(scale){boolean}

common/geometry/RealTransferEngine.js, line 410

縮放目前的Viewport。

Name Type Description
scale number

縮放的Scale。

Returns:
Type Description
boolean 傳回是否成功。

SetCenter(p)

common/geometry/RealTransferEngine.js, line 387

在Viewport的寬與高不變下,設定目前Viewport的中心點。

Name Type Description
p GeoPoint

新的Viewport中心點。

SetViewport(boundary, viewport)

common/geometry/RealTransferEngine.js, line 227

同時設定Viewport的最大範圍與Viewport的範圍 或只設定Viewport的範圍。

Name Type Description
boundary GeoBoundary

Viewport的最大範圍或Viewport的範圍(當Viewport=undefined)。

viewport GeoBoundary | undefined

Viewport的範圍。

Example

var TransferEngine = new RealTransferEngine();
TransferEngine.SetViewport(Boundary,Viewport);//同時設定Boundary與目前Viewport
TransferEngine.SetViewport(Viewport);//只設定目前Viewport

SetViewportRange(range)

common/geometry/RealTransferEngine.js, line 202

設定Viewport的最大範圍。

Name Type Description
range GeoBoundary

Viewport的最大範圍。

SetWindow(window, keepResolution)

common/geometry/RealTransferEngine.js, line 175

設定Window的範圍。

Name Type Description
window GeoBoundary

Window的範圍。

keepResolution boolean

保持解析度。

ViewportToWindow(obj){undefined|Number}

common/geometry/RealTransferEngine.js, line 344

將Viewport座標轉至Window座標,若為GeoPoint與GeoBoundary,則直接轉換傳入的參數,若是Number,則將轉換後的答案傳回。

Name Type Description
obj GeoPoint | GeoBoundary | Number

欲轉換的座標。

Returns:
Type Description
undefined | Number 若參數為Number,則傳回轉換後的答案。

WindowToViewport(obj){undefined|Number}

common/geometry/RealTransferEngine.js, line 295

將Window座標轉至Viewport座標,若為GeoPoint與GeoBoundary,則直接轉換傳入的參數,若是Number,則將轉換後的答案傳回。

Name Type Description
obj GeoPoint | GeoBoundary | Number

欲轉換的座標。

Returns:
Type Description
undefined | Number 若參數為Number,則傳回轉換後的答案。

ZoomAll()

common/geometry/RealTransferEngine.js, line 442

縮小至看到全圖。

ZoomIn()

common/geometry/RealTransferEngine.js, line 430

放大。

ZoomOut()

common/geometry/RealTransferEngine.js, line 436

縮小。