【收藏】Arcgis api4.x extent跳转到图层、三维视图跳转

1.效果

2.extent跳转到图层 

    goTo 方法用于视图跳转,接受第一个参数设置表示想要跳转到的目标位置,第二个参数是一个对象,用于设置跳转动画的持续时间等选项。

    queryExtent 方法用于查询图层的范围,下面的代码示例为查询图层的extent,并使用goTo方法跳转到该图层。

layer.queryExtent().then((response) => {
      var extent = response.extent;
      view.goTo(extent, { duration: 5000 });
});

3.扩展

    上面案例是在二维视图的跳转案例,在三维视图中,如果要根据经纬度、高度、倾斜角、方向这个几个参数来跳转,就稍微复杂些。

    在三维视图的跳转中,goTo方法可以接受一个camera对象,只需要把view中camera克隆一份,再修改其经纬度、高度、倾斜角、方向等参数,再调用goTo方法即可实现三维视图的跳转。

function shiftCamera(deg_longitude,deg_latitude,deg_height,deg_tilt,deg_heading) {
   const camera = view.camera.clone();
   camera.position.longitude = deg_longitude; //经度
   camera.position.latitude = deg_latitude; //纬度
   camera.position.z = deg_height; //高度
   camera.tilt = deg_tilt; //倾斜角度
   camera.heading = deg_heading; //方向
   return camera;
}

// 三维制图跳转
view.goTo(
   shiftCamera(
       118.30525115787077, //经度
       32.271920928819064, //纬度
       79.5481035830453,  //高度
       53.19104670053967, //倾斜角度
       235.94663414449664 //方向
    )
);

    三维视图跳转的方法二:

view.goTo({
    center: [103.31382061391655, 31.081913541291648],
    scale: 9884.66759755399,
    heading: 143.22696360608418,
    tilt: 79.6409302909699,
});

 


(如果文章对你有帮助,可以点个赞鼓励下博主噢)

你可能感兴趣的:(arcgis,javascript)