arcgis 4.x 入門學習五 (視角定位 view.goTo )


1. 視角鎖定

        3.x中的map.centerAt 功能在4.x中被移除了,取而代之的是功能更加強大的動態攝像頭追逐  view.goTo 功能。

 

2. SceneView.goTo ( GoToTarget3D ,  GoToOptions3D )

  先上api   

  https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#camera

  https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo

  https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToTarget3D

  https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToOptions3D

  因為goTo的操作本質上是對設想有 也就是 view.camera類(攝像機)的操作,所以api直接查詢SceneView的camera屬性就可以了

  有興趣可以去了解一下攝像機對象 camera類  這也是webgl結構下的很重要概念;

    camera的api地址 https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html

  然后就是我知道的使用方式合計 上代碼

  

    view.goTo({
        // 看向一個可視區域 主要參數是geometry 或者 extent 
        target: polygon.extent,
        // 將攝像頭移動到一個點上面
        center: point || [lon , lat] ,
        // 同上 用上面的center就行了
        position: point,
        // 這個是控制攝像頭的水平方向
        heading: 0,
        // 這個是控制攝像頭的垂直朝向
        tilt: 90,
        // 地圖層級高度 一般最大是20  最小0   20的時候就已經貼着地面了幾乎
        zoom: 18,
        // 焦距這個一般都不設置 直接使用target就好了, 一定要理解的話 這個就相當於焦距 也就是說 攝像頭的位置設置焦距
        fov: 0
    },{
        // 指是否需要過度動畫, 一般都會是true 默認也是true
        animate: true,
        // 動畫速度系數 1就是正常速度  0.5就是一半速度 2就是一倍速度
        speedFactor: 1,
        // 持續速度  持續5秒達到  這個配置會覆蓋上面的動畫系數  
        duration: 5000,
        // 允許的最大持續時間, 有時候鏡頭移動距離太遠了 如果設置的恆定速度 就會導致時間過長, 這個配置可以解決這個問題
        maxDuration: 5000,
        // 移動的模式  均速移動 還有很多配置 詳情見api
        easing: "linear"
    })

 

  上面應該是比較常用的一些配置了;

  當然還有一些比較簡單的沒有動畫的瞬間移動的視角方法

  

view.center = point;

view.camera = camera;

view.extent = extent

 

  哎  首先要明白各種  js類的作用與關系  arcgis4.x 已經算是比較難的面向對象框架梁了  webgl如果沒有一定的了解是很難理解的。

  好啦 關於攝像頭的動畫介紹就到這里了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM