地圖可視元件

Param: ElementId

{DOM} 網頁元素ID

Param: EPSGNum

{number} 預設坐標系統編碼

Hierarchy

  • WINDOWS_EVENT
    • CMapView

Methods

  • 放棄當前輸入幾何的動作

    Returns boolean

  • 加入監聽事件

    Parameters

    • EventName: string

      事件名稱,目前支援ViewportChanged(GeoBoundary Viewport,GeoBoundary Window)、ModifyEnd(VectorLayer Layer, number EntityId)、OnServerNotify(VarStruct[] Ret)、GetTileProgress(Obj)、Resized(Obj)、UpdateScreen()、MoveEnd(GeoBoundary Viewport)、ControlTypeChange(string value)、SelectFeature(Obj)、HoverFeature(Obj)

    • callback: any

      當事件觸發要呼叫的函式

    Returns boolean

    事件名稱是否存在。

  • 開始定義事件接收

    Parameters

    • control: any

      Control用於呼叫WINDOWS_EVENT.GetClientRect()使用。

    Returns void

  • 啟動提示功能

    Returns void

  • 綁定MapDocument

    Parameters

    • MapDocument: CMapDocument

      要綁定的地圖文件

    • InitBoundary: GeoBoundary

      初始化視域,綁定後畫面會自動移動到該範圍,並限制圖台移動範圍

    Returns boolean

    是否綁定成功

  • 彈跳到指定位置(類似彈力球)

    Parameters

    • Coordinate: number[] | GeoPoint

      [x,y]或GeoPoint,必須。

    • Optional Duration: number

      時間。

    Returns void

    Example

    BounceTo([0, 0])
    BounceTo(new GeoPoint(0,0));
  • 手動清除所有查詢標記

    Returns void

  • 清除測量標記

    Returns void

  • 在地圖上建立Overlay元件

    Parameters

    • Position: any
    • Id: undefined | string | number

      Overlay元件Identifier

    • ElementTagName: string

      Overlay Dom元件的標籤名稱

    • Callback: CreateOverlayCallback

      回呼函式,function(element)

    Returns Overlay

    openlayers overlay 元件

    Example

    var overlay = CreateOverlay([13465046.15542, 2709138.0502025], 'overlay', 'div', function (element) {
    var content = document.createElement('div');
    element.appendChild(content);
    content.innerHTML = "testContent";
    element.className = 'ol-popup';
    });
  • 在指定外部的div上加入比例尺,比例尺class name為'ol-scale-line'

    Parameters

    • DivID: string

      外部Div的ID

    Returns void

    Example

    CreateScaleLine('map')
    
  • 結束定義事件接收

    Returns void

  • 彈到指定位置(類似彈簧的方式)

    Parameters

    • Coordinate: number[] | GeoPoint

      [x,y]或GeoPoint,必須。

    • Optional Duration: number

      時間。

    Returns void

    Example

    ElasticTo([0, 0])
    ElasticTo(new GeoPoint(0,0));
  • 結束一次的測量動作

    Returns boolean

  • 關閉提示功能

    Returns void

  • 取得當前圖台截圖

    Parameters

    • options: {
          FileCompressedQuality: undefined | number;
          FileName: undefined | string;
          FileType: undefined | string;
      }

      參數物件。

      • FileCompressedQuality: undefined | number

        JPEG下的壓縮率。

      • FileName: undefined | string

        檔案名稱。

      • FileType: undefined | string

        檔案類型。

    Returns void

    Example

    MapView.ExportMap({FileName: 'map.png', FileType:'image/png'});
    
  • 飛到到指定位置

    Parameters

    • Coordinate: number[] | GeoPoint

      [x,y]或GeoPoint,必須。

    • Optional Duration: number

      時間。

    Returns void

    Example

    FlyTo([0, 0])
    FlyTo(new GeoPoint(0,0));
  • 取得一個剛好覆蓋整個Map的畫布(canvas)

    Parameters

    • Id: string

      canvas的id

    Returns Object

    canvas HTML元素

  • 取得Window的視窗範圍,此範圍是參考BEGIN_REGISTER_EVENT所傳入的Control

    Returns CRect

    傳回視窗範圍。

  • 透過Id取得地圖上的Overlay元件

    Parameters

    • OverlayId: undefined | string | number

      overlay元件Id

    Returns Overlay

    openlayers overlay 元件

  • 飛到到指定範圍

    Parameters

    • Boundary: any
    • Optional Duration: number

      時間。

    Returns void

    Example

    GoTo([0, 0, 1, 1])
    GoTo(new GeoBoundary(0,0,1,1));
  • 在地圖上輸入圓,點擊左鍵一下開始,移動滑鼠決定半徑,再左鍵一下結束輸入,點擊右鍵一下放棄輸入 備註: 1.Input_Ok收到的第一個參數為GeoPoint物件,物件當中包含一個Radius屬性為半徑長度 2.InputGeo系列不會自動為您畫輸入的幾何,也不會自動搜尋,所有功能須透過Input_Ok拿到的幾何實現

    Parameters

    • Input_Ok: Function

      結束輸入時的回呼函數,function(geo , Sender)

    • Input_Abort: Function

      放棄輸入時的回呼函數,function(Sender)

    • Sender: object

      任意物件,會取代回呼函數作用範圍的this

    • InputObj: object

      任意物件,會傳遞到結束或放棄輸入的函數裡面

    • Optional InputDeltaPixel: number

      兩次點擊相離多少像素內即結束 *

    Returns boolean

    Example

    var function inputGeo_Ok = function(geo , sender){
    ......
    else if(sender === "circle"){
    alert("輸入圓成功");
    }
    }
    var function inputGeo_Abort = function(sender){
    ......
    else if(sender === "circle"){
    alert("放棄輸入圓");
    }
    }
    var memo = "circle";
    MapView.InputCircle(inputGeo_Ok , inputGeo_Abort, this, memo);
  • 在地圖上輸入點,點擊左鍵一下就結束輸入,點擊右鍵一下放棄輸入 備註: 1.Input_Ok收到的第一個參數為GeoPoint物件 2.InputGeo系列不會自動為您畫輸入的幾何,也不會自動搜尋,所有功能須透過Input_Ok拿到的幾何實現

    Parameters

    • Input_Ok: Function

      結束輸入時的回呼函數,function(geo , Sender)

    • Input_Abort: Function

      放棄輸入時的回呼函數,function(Sender)

    • Sender: object

      任意物件,會取代回呼函數作用範圍的this

    • InputObj: object

      任意物件,會傳遞到結束或放棄輸入的函數裡面 *

    Returns boolean

    Example

    var function inputGeo_Ok = function(geo , sender){
    if(sender === "point"){
    alert("輸入點成功");
    }
    ......
    }
    var function inputGeo_Abort = function(sender){
    if(sender === "point"){
    alert("放棄輸入點");
    }
    ......
    }
    var memo = "point";
    MapView.InputPoint(inputGeo_Ok , inputGeo_Abort, this, memo);
  • 在地圖上輸入面,點擊左鍵一下加入點,點擊左鍵兩下結束輸入,點擊右鍵一下放棄輸入 備註: 1.注意每次InputPolygon的callback收到幾何的是GeoPolygon不是GeoPolygonSet 2.InputGeo系列不會自動為您畫輸入的幾何,也不會自動搜尋,所有功能須透過Input_Ok拿到的幾何實現

    Parameters

    • Input_Ok: Function

      結束輸入時的回呼函數,function(geo , Sender)

    • Input_Abort: Function

      放棄輸入時的回呼函數,function(Sender)

    • Sender: object

      任意物件,會取代回呼函數作用範圍的this

    • InputObj: object

      任意物件,會傳遞到結束或放棄輸入的函數裡面

    • Optional InputDeltaPixel: number

      兩次點擊相離多少像素內即結束 *

    Returns boolean

    Example

    var function inputGeo_Ok = function(geo , sender){
    ......
    else if(sender === "polylgon"){
    alert("輸入面成功");
    }
    ......
    }
    var function inputGeo_Abort = function(sender){
    ......
    else if(sender === "polygon"){
    alert("放棄輸入面");
    }
    ......
    }
    var memo = "polygon";
    MapView.InputPolygon(inputGeo_Ok , inputGeo_Abort, this, memo);
  • 在地圖上輸入線,點擊左鍵一下加入點,點擊左鍵兩下結束輸入,點擊右鍵一下放棄輸入 備註: 1.Input_Ok收到的第一個參數為GeoPolyline物件 2.InputGeo系列不會自動為您畫輸入的幾何,也不會自動搜尋,所有功能須透過Input_Ok拿到的幾何實現

    Parameters

    • Input_Ok: Function

      結束輸入時的回呼函數,function(geo , Sender)

    • Input_Abort: Function

      放棄輸入時的回呼函數,function(Sender)

    • Sender: object

      任意物件,會取代回呼函數作用範圍的this

    • InputObj: object

      任意物件,會傳遞到結束或放棄輸入的函數裡面

    • Optional InputDeltaPixel: number

      兩次點擊相離多少像素內即結束 *

    Returns boolean

    Example

    var function inputGeo_Ok = function(geo , sender){
    ......
    else if(sender === "polyline"){
    alert("輸入線成功");
    }
    ......
    }
    var function inputGeo_Abort = function(sender){
    ......
    else if(sender === "polyline"){
    alert("放棄輸入線");
    }
    ......
    }
    var memo = "polyline";
    MapView.InputPolyline(inputGeo_Ok , inputGeo_Abort, this, memo);
  • 在地圖上輸入框,點擊左鍵一下開始,移動滑鼠改變形狀,再左鍵一下結束輸入,點擊右鍵一下放棄輸入 備註: 1.Input_Ok收到的第一個參數為GeoBoundary物件 2.InputGeo系列不會自動為您畫輸入的幾何,也不會自動搜尋,所有功能須透過Input_Ok拿到的幾何實現

    Parameters

    • Input_Ok: Function

      結束輸入時的回呼函數,function(geo , Sender)

    • Input_Abort: Function

      放棄輸入時的回呼函數,function(Sender)

    • Sender: object

      任意物件,會取代回呼函數作用範圍的this

    • InputObj: object

      任意物件,會傳遞到結束或放棄輸入的函數裡面

    • Optional InputDeltaPixel: number

      兩次點擊相離多少像素內即結束 *

    Returns boolean

    Example

    var function inputGeo_Ok = function(geo , sender){
    ......
    else if(sender === "boundary"){
    alert("輸入框成功");
    }
    }
    var function inputGeo_Abort = function(sender){
    ......
    else if(sender === "boundary"){
    alert("放棄輸入框");
    }
    }
    var memo = "boundary";
    MapView.InputRectangle(inputGeo_Ok , inputGeo_Abort, this, memo);
  • 刪除所有的Timer

    Returns void

  • 刪除一個Timer

    Parameters

    • id: number

      欲刪除的Timer的Id。

    Returns bool

    傳回是否成功。

  • 量測面積

    Parameters

    • Listen: null | Function

      結束時的回呼函數,function(Geo, MeasureValue, Obj),只需要標記功能可以給null

    • Obj: Object

      任意物件,給Listen辨識或傳遞物件用

    • Optional DeltaPixel: number

      兩次點擊相離多少像素內即結束,可以不給,預設值為5

    • Optional bMeasureLength: boolean

      開啟鎖點時,測量面積只有兩點當作測距離,預設true

    Returns boolean

    回傳啟動測量是否成功

  • 量測距離

    Parameters

    • Listen: null | Function

      結束時的回呼函數,function(Geo, MeasureValue, Obj),只需要標記功能可以給null

    • Obj: Object

      任意物件,給Listen辨識或傳遞物件用

    • Optional DeltaPixel: number

      兩次點擊相離多少像素內即結束,可以不給,預設值為5

    Returns boolean

    回傳啟動測量是否成功

  • 平移到指定位置

    Parameters

    • Coordinate: number[] | GeoPoint

      [x,y]或GeoPoint,必須。

    • Optional Duration: number

      平移時間。

    • Optional Easing: Function

      平移函數

    Returns void

    Example

    PanTo([0, 0])
    PanTo(new GeoPoint(0,0));
  • 查詢圖層屬性

    Parameters

    • LayerNames: string

      圖層名稱,多個用逗號隔開

    • StrokeColor: string

      線框顏色

    • FillColor: string

      填滿顏色

    • Type: number

      查詢類型,目前支援: CLICK 點擊拿最上層的唯一圖素,INCLUDE 框選所有圖素

    • Callback: undefined | Function

      回呼函式,function(QueryFeatures)

    • ProxyUrl: undefined | string

      代理網址,預設''

    Returns void

  • 定義事件接收

    Parameters

    • control: any

      事件的發出者。

    • event: {
          ANIMATION_FRAME: number;
          BLUR: number;
          CREATE: number;
          FOCUS: number;
          INPUT_CHANGED: number;
          KEYDOWN: number;
          KEYUP: number;
          MOUSE_CLICK: number;
          MOUSE_DBLCLICK: number;
          MOUSE_DOWN: number;
          MOUSE_ENTER: number;
          MOUSE_LEAVE: number;
          MOUSE_MOVE: number;
          MOUSE_UP: number;
          MOUSE_WHEEL: number;
          SCROLL_CHANGED: number;
          SELECT_CHANGED: number;
          SIZE: number;
          TIMER: number;
          TOUCH_CANCEL: number;
          TOUCH_END: number;
          TOUCH_MOVE: number;
          TOUCH_MOVE2: number;
          TOUCH_START: number;
          UNLOAD: number;
      }

      事件型別。

      • ANIMATION_FRAME: number

        動畫事件,系統會在空閒時呼叫

      • BLUR: number

        失去輸入焦點

      • CREATE: number

        初始被建立

      • FOCUS: number

        接收到輸入焦點

      • INPUT_CHANGED: number

        Input類的Element內的內容被修改

      • KEYDOWN: number

        鍵盤按鍵被按下

      • KEYUP: number

        鍵盤按鍵被放開

      • MOUSE_CLICK: number

        滑鼠右鍵被按一下

      • MOUSE_DBLCLICK: number

        滑鼠右鍵被快速按二下

      • MOUSE_DOWN: number

        滑鼠鍵被按下

      • MOUSE_ENTER: number

        滑鼠進入

      • MOUSE_LEAVE: number

        滑鼠離開

      • MOUSE_MOVE: number

        滑鼠移動

      • MOUSE_UP: number

        滑鼠鍵被放開

      • MOUSE_WHEEL: number

        滑鼠滾輪

      • SCROLL_CHANGED: number

        捲動軸被卷動

      • SELECT_CHANGED: number

        ComboBox類的Element的選取內容改變

      • SIZE: number

        Element Size改變

      • TIMER: number

        時間

      • TOUCH_CANCEL: number

        取消Touch

      • TOUCH_END: number

        結束Touch

      • TOUCH_MOVE: number

        Touch後移動

      • TOUCH_MOVE2: number

        Touch後移動

      • TOUCH_START: number

        開始Touch

      • UNLOAD: number

        Element被消滅

    • callback: Function

      接收事件的函數,依據不同事件類型,callback的型態不同,描述如下
      ENUM_EVENT.CREATE function(Control)
      ENUM_EVENT.TIMER function(nIDEvent)
      ENUM_EVENT.MOUSE_MOVE function(Button,x,y,Control)
      ENUM_EVENT.MOUSE_DOWN function(Button,x,y,Control)
      ENUM_EVENT.MOUSE_UP function(Button,x,y,Control)
      ENUM_EVENT.MOUSE_CLICK function(Button,x,y,Control)
      ENUM_EVENT.MOUSE_DBLCLICK function(Button,x,y,Control)
      ENUM_EVENT.TOUCH_START function(Button,index[],x[],y[],Control)
      ENUM_EVENT.TOUCH_END function(Button,index[],x[],y[],Control)
      ENUM_EVENT.TOUCH_CANCEL function(Button,index[],x[],y[],Control)
      ENUM_EVENT.TOUCH_MOVE function(Button,index[],x[],y[],Control)
      ENUM_EVENT.MOUSE_ENTER function(Button,x,y,Control)
      ENUM_EVENT.MOUSE_LEAVE function(Button,x,y,Control)
      ENUM_EVENT.MOUSE_WHEEL function(Delta,x,y,Control)
      ENUM_EVENT.FOCUS function(Control)
      ENUM_EVENT.BLUR function(Control)
      ENUM_EVENT.KEYDOWN function(char,Control)
      ENUM_EVENT.KEYUP function(char,Control)
      ENUM_EVENT.SIZE function(cx,cy,Control)
      ENUM_EVENT.INPUT_CHANGED function(Control)
      ENUM_EVENT.SCROLL_CHANGED function(Control)
      ENUM_EVENT.SELECT_CHANGED function(Control)
      ENUM_EVENT.UNLOAD function(Control)
      ENUM_EVENT.ANIMATION_FRAME function(Control)

    • sender: Object

      在callback函式內的this指標所指的物件

    Returns boolean

  • 移除指定的元素

    Parameters

    • Id: string

      元素Id

    Returns void

  • 移除指定的監聽事件

    Parameters

    • EventName: string

      事件名稱

    • callback: any

      要移除(當事件觸發要呼叫)的函式

    Returns boolean

    事件名稱是否存在並且已移除。

  • 從地圖上移除Overlay元件

    Parameters

    • Overlay: Overlay

      overlay元件

    Returns void

  • 回復上一個鎖點設定,若沒有上一個則恢復預設值

    Returns void

  • 設定取圖進度相關參數

    Parameters

    • Interval_ms: undefined | number

      時間間隔(毫秒)

    Returns void

  • 設定影響ZoomIn、ZoomOut、滾輪的最小和最大比例尺分母

    Parameters

    • MinScaleDenominator: any
    • MaxScaleDenominator: any

    Returns boolean

    是否設定成功 最小或最大比例尺小於0,或數值的大小關係不符邏輯都會回傳false

  • 設定監聽伺服器功能

    Parameters

    • ServerURLs: string | string[]

      指定server端的IP:PORT

    • Interval_ms: undefined | number

      時間間隔(毫秒)

    Returns void

  • 設定鎖點功能

    Parameters

    • LayerName: null | string

      從指定的client端圖層名稱取鎖點,多圖層名用逗號分隔,若有值則啟動鎖點功能,null則關閉功能(其他參數無作用),預設關閉

    • Pixel: undefined | number

      搜尋鎖點範圍,單位pixel,預設5

    • Type: undefined | string

      指定鎖點類型,支援'node'-取最近的幾何(點)作為鎖點、'perpendicular_foot'-取最近的垂足作為鎖點,預設:'node'

    • Radius: undefined | number

      鎖點半徑大小,單位pixel,預設3

    • FillColor: undefined | string

      鎖點填滿顏色,預設紅色

    • StrokeColor: undefined | string

      鎖點外框顏色,預設黑色

    • ProxyUrl: undefined | string

      代理網址,預設''

    Returns void

    Example

    SetSnapPointSetting('wmts', 10, 'node', 3, 'rgba(255,0,0,1)', 'rgba(0,0,0,1)') 自動開啟
    SetSnapPointSetting(null) 關閉鎖點功能
  • 建立一個Timer

    Parameters

    • id: number

      欲建立的Timer的Id。

    • tickCount: number

      希望的Timer事件的間格,單位為1/1000秒。

    Returns bool

    傳回是否成功。

  • 旋轉到指定位置

    Parameters

    • Coordinate: number[] | GeoPoint

      [x,y]或GeoPoint,必須。

    • Duration: any

    Returns void

    Example

    SpinTo([0, 0])
    SpinTo(new GeoPoint(0,0));
  • 以螺旋方式到指定位置

    Parameters

    • Coordinate: number[] | GeoPoint

      [x,y]或GeoPoint,必須。

    • Duration: any

    Returns void

    Example

    SpiralTo([0, 0])
    SpiralTo(new GeoPoint(0,0));
  • 開始啟動ANIMATION_FRAME事件

    Returns bool

    傳回是否成功。

  • 停止ANIMATION_FRAME事件

    Returns bool

    傳回是否成功。

  • 紀錄當前的鎖點設定

    Returns void

  • 解除與MapDocument的綁定

    Returns void

  • 強制更新畫面,如果作畫範圍(div)有改變,也會重新計算視域

    Returns void

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

    Parameters

    • obj: any

    Returns any

    若參數為double,則傳回轉換後的答案。

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

    Parameters

    • obj: any

    Returns any

    若參數為double,則傳回轉換後的答案。

  • 地圖移動到最大可視範圍

    Returns void

  • 平移到指定的中心點

    Parameters

    • p: GeoPoint

      {GeoPoint} 指定的中心點

    Returns void

    Example

    var p = new GeoPoint(121,22);
    MapView.ZoomCenter(p);
  • 地圖比例尺放大一級

    Returns void

  • 地圖比例尺縮小一級

    Returns void

  • 地圖移動到前一畫面

    Returns void

  • 縮放到指定的比例尺(分母)下

    Parameters

    • ScaleDenominator: number

      {number} 比例尺(分母)

    Returns void

    Example

    MapView.ZoomScale(25000);//縮放到兩萬五千分之一的比例尺
    
  • 框選並移動視域到該範圍,呼叫後會自動進入輸入框模式

    Returns void

Generated using TypeDoc