PilotGaea 2D O'view
    正在準備搜尋索引...

    類別 CMapView

    地圖視圖。

    索引

    屬性

    DefaultSnapSetting: SnapSetting = ...

    鎖點預設設定。

    方法 - OpenLayers

    • 在指定外部的元素上加入比例尺,比例尺classol-scale-line

      參數

      • id: string

        元素的 id

      回傳 ol.control.ScaleLine

      OpenLayers ol.control.ScaleLine 手柄。

      mapView.CreateScaleLine("scale");
      
    • 在指定外部的元素移除特定比例尺。

      參數

      回傳 boolean

      mapView.RemoveScaleLine("scale");
      

    方法 - Openlayers

    • 在地圖上建立 ol.Overlay 元件。

      參數

      • position: GeoPoint | Position

        [x, y]GeoPoint

      • id: undefined | string | number

        Overlay 元件 id

      • elementTagName: string

        元件的DOM標籤名稱。

      • callback: (element: HTMLElement) => void

        回呼函式。

      回傳 Overlay

      Openlayers ol.Overlay 元件。

      const overlay = mapView.CreateOverlay([13465046.15542, 2709138.0502025], "overlay", "div", (element) => {
      const content = document.createElement("div");
      element.appendChild(content);
      content.innerHTML = "testContent";
      element.className = "ol-popup";
      });
    • 從地圖上移除 ol.Overlay 元件。

      參數

      回傳 void

    • 透過 id 取得地圖上的 ol.Overlay 元件。

      參數

      • id: string | number

        Overlay 元件 id

      回傳 Overlay

      Openlayers ol.Overlay 元件。

    方法 - Other

    • 綁定 MapDocument

      參數

      • mapDocument: CMapDocument

        要綁定的地圖文件。

      • 可選initBoundary: GeoBoundary

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

      回傳 boolean

      是否綁定成功。

    • 解除與 MapDocument 的綁定。

      回傳 void

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

      回傳 void

    • 加入事件監聽。

      類型參數

      參數

      • type: K

        事件名稱。

      • listener: MapViewEventMap[K]

        當事件觸發要呼叫的函式。

      回傳 boolean

      事件名稱是否存在。

    • 移除指定的事件監聽。

      類型參數

      參數

      回傳 boolean

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

    • 框選並移動視域到該範圍,呼叫後會自動進入輸入框模式。

      回傳 void

    • 地圖比例尺放大一級。

      回傳 void

    • 地圖比例尺縮小一級。

      回傳 void

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

      參數

      • scaleRatio: number

        比例尺 (分母)。

      回傳 void

      mapView.ZoomScale(25000); // 縮放到 1:25000 (兩萬五千分之一) 的比例尺
      
    • 平移到指定的中心點。

      參數

      回傳 void

      let p = new GeoPoint(121, 22);
      mapView.ZoomCenter(p);
    • 地圖移動到最大可視範圍。

      回傳 void

    • 取消縮放模式。

      回傳 void

    • 地圖移動到前一畫面。

      回傳 void

    • 將 Window 座標轉至 Viewport 座標,若為 GeoPointGeoBoundary ,則直接轉換傳入的參數,若是 number,則將轉換後的長度傳回。

      參數

      回傳 undefined | number

      若參數為 number,則傳回轉換後的長度。

    • 將 Viewport 座標轉至 Window 座標,若為 GeoPointGeoBoundary ,則直接轉換傳入的參數,若是 number,則將轉換後的長度傳回。

      參數

      回傳 undefined | number

      若參數為 number,則傳回轉換後的長度。

    • 在地圖上輸入點,點擊左鍵一下就結束輸入,點擊右鍵一下放棄輸入。

      不會自動畫輸入的幾何,也不會自動搜尋,所有功能須透過 onComplete 拿到的幾何實現。

      類型參數

      • T extends undefined | object

      參數

      • onComplete: (geo: GeoPoint, obj: T) => void

        結束輸入時的回呼函數。

      • onAbort: (obj: T) => void

        放棄輸入時的回呼函數。

      • optThis: object

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

      • 可選obj: T

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

      回傳 boolean

      const onComplete = (geo, memo) => {
      if(obj === "point"){
      alert("輸入點成功");
      }
      // ......
      }
      const onAbort = (memo) {
      if(memo === "point"){
      alert("放棄輸入點");
      }
      // ......
      }
      const memo = "point";
      mapView.InputPoint(onComplete , onAbort, this, memo);
    • 在地圖上輸入線,點擊左鍵一下加入點,點擊左鍵兩下結束輸入,點擊右鍵一下放棄輸入。

      不會自動畫輸入的幾何,也不會自動搜尋,所有功能須透過 onComplete 拿到的幾何實現。

      類型參數

      • T extends undefined | object

      參數

      • onComplete: (geo: GeoPolyline, obj: T) => void

        結束輸入時的回呼函數。

      • onAbort: (obj: T) => void

        放棄輸入時的回呼函數。

      • optThis: object

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

      • 可選obj: T

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

      • 可選minDeltaPixel: number

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

      回傳 boolean

      const onComplete = (geo , memo) => {
      // ......
      else if(memo === "polyline"){
      alert("輸入線成功");
      }
      // ......
      };
      const onAbort = (memo) => {
      // ......
      else if(memo === "polyline"){
      alert("放棄輸入線");
      }
      // ......
      };
      const memo = "polyline";
      mapView.InputPolyline(onComplete , onAbort, this, memo);
    • 在地圖上輸入面,點擊左鍵一下加入點,點擊左鍵兩下結束輸入,點擊右鍵一下放棄輸入。

      不會自動畫輸入的幾何,也不會自動搜尋,所有功能須透過 onComplete 拿到的幾何實現。

      類型參數

      • T extends undefined | object

      參數

      • onComplete: (geo: GeoPolygon, obj: T) => void

        結束輸入時的回呼函數。

      • onAbort: (obj: T) => void

        放棄輸入時的回呼函數。

      • optThis: object

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

      • 可選obj: T

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

      • 可選minDeltaPixel: number

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

      回傳 boolean

      const onComplete = (geo, memo) => {
      // ......
      else if(memo === "polygon"){
      alert("輸入面成功");
      }
      // ......
      }
      const onAbort = (memo) => {
      // ......
      else if(memo === "polygon"){
      alert("放棄輸入面");
      }
      // ......
      }
      const memo = "polygon";
      mapView.InputPolygon(onComplete, onAbort, this, memo);
    • 在地圖上輸入框,點擊左鍵一下開始,移動滑鼠改變形狀,再左鍵一下結束輸入,點擊右鍵一下放棄輸入。

      不會自動畫輸入的幾何,也不會自動搜尋,所有功能須透過 onComplete 拿到的幾何實現。

      類型參數

      • T extends undefined | object

      參數

      • onComplete: (geo: GeoBoundary, obj: T) => void

        結束輸入時的回呼函數。

      • onAbort: (obj: T) => void

        放棄輸入時的回呼函數。

      • optThis: object

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

      • 可選obj: T

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

      • 可選minDeltaPixel: number

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

      回傳 boolean

      const onComplete = (geo, memo) => {
      // ......
      else if(memo === "boundary"){
      alert("輸入框成功");
      }
      }
      const onAbort = (memo) => {
      // ......
      else if(memo === "boundary"){
      alert("放棄輸入框");
      }
      }
      const memo = "boundary";
      mapView.InputRectangle(onComplete, onAbort, this, memo);
    • 在地圖上輸入圓,點擊左鍵一下開始,移動滑鼠決定半徑,再左鍵一下結束輸入,點擊右鍵一下放棄輸入。

      不會自動畫輸入的幾何,也不會自動搜尋,所有功能須透過 onComplete 拿到的幾何實現。

      類型參數

      • T extends undefined | object

      參數

      • onComplete: (geo: object, obj: T) => void

        結束輸入時的回呼函數。

      • onAbort: (obj: T) => void

        放棄輸入時的回呼函數。

      • optThis: object

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

      • 可選obj: T

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

      • 可選minDeltaPixel: number

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

      回傳 boolean

      const onComplete = (geo, memo) => {
      // ......
      else if(memo === "circle") {
      alert("輸入圓成功");
      }
      }
      const onAbort = (memo) => {
      // ......
      else if(memo === "circle") {
      alert("放棄輸入圓");
      }
      }
      const memo = "circle";
      MapView.InputCircle(onComplete, onAbort, this, memo);
    • 放棄當前輸入幾何的動作。

      回傳 boolean

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

      參數

      • minScaleDenominator: number

        最小比例尺分母,須大於等於0,限制縮放無法小於最小比例尺,0代表不限制。

      • maxScaleDenominator: number

        最大比例尺分母,須大於等於0,限制縮放無法大於最大比例尺,0代表不限制。

      回傳 boolean

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

    • 量測距離。參數皆為選用。

      類型參數

      • T

      參數

      • 可選onComplete: null | ((geo: GeoPolyline, value: number, obj: T) => void)

        結束時的回呼函數。

      • 可選obj: T

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

      • 可選minDeltaPixel: number

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

      回傳 boolean

      回傳啟動測量是否成功。

    • 量測面積。參數皆為選用。

      類型參數

      • T

      參數

      • 可選onComplete:
            | null
            | (
                (
                    geo: GeoPolygon,
                    value: { Area: number; Length: number },
                    obj: T,
                ) => void
            )

        結束時的回呼函數。

      • 可選obj: T

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

      • 可選minDeltaPixel: number

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

      • 可選measureLength: boolean

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

      回傳 boolean

      回傳啟動測量是否成功

    • 直接結束測量,如果輸入點少於需求數會放棄該次測量。

      回傳 boolean

    • 放棄當前測量。

      回傳 boolean

    • 清除測量標記。

      回傳 void

    • 平移到指定位置。

      參數

      • coordinate: GeoPoint | Position

        [x, y]GeoPoint

      • duration: number = 2000

        時間,預設 2000 (毫秒)。

      • 可選easing: (t: number) => number

        緩動函數,預設線性。

      回傳 void

      mapView.PanTo([0, 0])
      mapView.PanTo(new GeoPoint(0, 0));
    • 彈到指定位置 (類似彈簧的方式)。

      參數

      回傳 void

      mapView.ElasticTo([0, 0])
      mapView.ElasticTo(new GeoPoint(0,0));
    • 彈跳到指定位置 (類似彈力球)。

      參數

      回傳 void

      mapView.BounceTo([0, 0])
      mapView.BounceTo(new GeoPoint(0,0));
    • 旋轉到指定位置。

      參數

      回傳 void

      mapView.SpinTo([0, 0])
      mapView.SpinTo(new GeoPoint(0, 0));
    • 飛到到指定位置。

      參數

      回傳 void

      mapView.FlyTo([0, 0])
      mapView.FlyTo(new GeoPoint(0,0));
    • 飛到到指定範圍。

      參數

      • boundary: GeoBoundary | BBox

        範圍。

      • duration: number = 2000

        時間,預設 2000 (毫秒)。

      回傳 void

      mapView.GoTo([0, 0, 1, 1])
      mapView.GoTo(new GeoBoundary(0, 0, 1, 1));
    • 以螺旋方式到指定位置。

      參數

      回傳 void

      mapView.SpiralTo([0, 0]);
      mapView.SpiralTo(new GeoPoint(0, 0));
    • 設定鎖點功能。

      參數

      • 可選layerName: null | string

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

      • 可選pixel: number

        搜尋鎖點範圍,單位像素 (px),預設5

      • 可選type: string

        指定鎖點類型,預設"node",支援:

        • "node" - 取最近的幾何 (點) 作為鎖點。
        • "perpendicular_foot" - 取最近的垂足作為鎖點。
      • 可選radius: number

        鎖點半徑大小,單位像素 (px),預設3

      • 可選fillColor: string

        鎖點填滿顏色,預設紅色。

      • 可選strokeColor: string

        鎖點外框顏色,預設黑色。

      • 可選proxyUrl: string

        代理網址,預設無。

      回傳 void

      mapView.SetSnapPointSetting("wmts", 10, "node", 3, "rgba(255, 0, 0, 1)", "rgba(0, 0, 0, 1)") // 自動開啟
      mapView.SetSnapPointSetting() // 關閉鎖點功能
    • 紀錄當前的鎖點設定。

      回傳 void

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

      回傳 void

    • 設定監聽伺服器功能。

      參數

      • urls: string | string[]

        指定伺服器端的網址。

      • 可選delay: number

        時間間隔 (毫秒)。

      回傳 void

    • 設定取圖進度相關參數。

      參數

      • 可選delay: number

        時間間隔 (毫秒)。

      回傳 void

    • 取得一個剛好覆蓋整個 Map 的 <canvas>

      參數

      • id: string

        <canvas>的 id。

      回傳 HTMLCanvasElement

      <canvas> HTML元素。

    • 移除指定的元素。

      參數

      • id: string

        元素Id。

      回傳 void

    • 查詢圖層屬性。

      參數

      • layerNames: string

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

      • strokeColor: string

        線框顏色。

      • fillColor: string

        填滿顏色。

      • queryType: QUERY_TYPE

        查詢類型,目前支援:

      • 可選callback: (queryFeatures: unknown) => void

        回呼函式。

      • 可選proxy: string

        代理網址,預設無。

      回傳 void

    • 手動清除所有查詢標記。

      回傳 void

    • 啟動提示功能。

      回傳 void

    • 關閉提示功能。

      回傳 void

    • 取得當前圖台截圖。

      參數

      • options: { FileName?: string; FileType?: string; FileCompressedQuality?: number }

        參數物件。

        • 可選FileName?: string

          檔案名稱,預設 "map.png"

        • 可選FileType?: string

          檔案類型,預設 "image/png"

        • 可選FileCompressedQuality?: number

          JPEG下的壓縮率,預設 1.0

      回傳 void

      mapView.ExportMap({ FileName: "map.png", FileType: "image/png" });
      

    構造函數

    • 地圖可視元件。

      參數

      • id: string

        網頁元素 id

      • epsg: number

        預設坐標系統編碼。

      回傳 CMapView

    訪問器屬性 - Openlayers

    • get ScaleLineOn(): boolean

      比例尺開關。 若為 true 則開啟比例尺圖示,否則關閉,比例尺 className"ol-scale-line"

      回傳 boolean

    • set ScaleLineOn(value: boolean): void

      比例尺開關。 若為 true 則開啟比例尺圖示,否則關閉,比例尺 className"ol-scale-line"

      參數

      • value: boolean

      回傳 void

    • get Map(): undefined | Map

      Openlayers 的 ol.Map

      回傳 undefined | Map

    • get View(): undefined | View

      Openlayers 的 ol.View

      回傳 undefined | View

    訪問器屬性 - Other

    • get IsBind(): boolean

      是否已綁定。

      回傳 boolean

    • get Viewport(): GeoBoundary

      取得目前視埠。

      回傳 GeoBoundary

    • set Viewport(value: GeoBoundary): void

      設定目前視埠。

      參數

      回傳 void

    • get Width(): number

      作畫的<div>元素寬度。

      回傳 number

    • get Height(): number

      作畫的 <div> 元素高度。

      回傳 number

    • get MouseWheelZoomCenter(): boolean

      取得滾輪縮放是否使用中心點 (預設 false,即以滑鼠位置縮放圖台)。

      回傳 boolean

    • set MouseWheelZoomCenter(value: boolean): void

      設定滾輪縮放是否使用中心點 (預設 false,即以滑鼠位置縮放圖台)。

      參數

      • value: boolean

      回傳 void

    • get ZoomByMatrixSet(): boolean

      地圖依照預設或指定的矩陣資訊縮放。 若為 true,呼叫 ZoomIn / ZoomOut 的時候會依照指定的矩陣資訊縮放比例尺,否則依照下一級為原來比例尺的 0.65 倍縮放。

      回傳 boolean

    • set ZoomByMatrixSet(value: boolean): void

      地圖依照預設或指定的矩陣資訊縮放。 若為 true,呼叫 ZoomIn / ZoomOut 的時候會依照指定的矩陣資訊縮放比例尺,否則依照下一級為原來比例尺的 0.65 倍縮放。

      參數

      • value: boolean

      回傳 void

    • get EnableRange(): boolean

      是否允許限制範圍,是否不可移動到整個Viewport的範圍 (ViewportRange) 之外。

      回傳 boolean

    • set EnableRange(value: boolean): void

      是否允許限制範圍,是否不可移動到整個Viewport的範圍 (ViewportRange) 之外。

      參數

      • value: boolean

      回傳 void

    • get SelectFeatureOn(): boolean | MapViewSelectFeatureOn

      選取圖素事件設定。 輸入 boolean 則開啟選取圖素功能,否則關閉。

      回傳 boolean | MapViewSelectFeatureOn

    • set SelectFeatureOn(value: boolean | MapViewSelectFeatureOn): void

      選取圖素事件設定。 輸入 boolean 則開啟選取圖素功能,否則關閉。

      參數

      回傳 void

    • get HoverFeatureOn(): boolean

      是否開啟可移到圖素模式。

      回傳 boolean

    • set HoverFeatureOn(value: boolean): void

      是否開啟可移到圖素模式。

      參數

      • value: boolean

      回傳 void

    • get FreezeUserControl(): boolean

      凍結使用者輸入控制對 Viewport 的控制 (凍結滑鼠與鍵盤)。

      回傳 boolean

    • set FreezeUserControl(value: boolean): void

      凍結使用者輸入控制對 Viewport 的控制 (凍結滑鼠與鍵盤)。

      參數

      • value: boolean

      回傳 void

    • get epsg(): number

      坐標系統編碼。

      回傳 number