arcgis api for 自定义zoom

1.需求

自定义UI,实现对地图的zoom操作,在view缩放的时候,带动画效果

2.分析问题

UI视图

一般情况,可能大部分初学者会使用以下代码对zoom进行操作,这个方法是可以放大缩小,但是动画是没有的,就显得很生硬

// 地图放大缩小
zoomInOrOut(type){
  if (type === 'in') {
    view.zoom += 1;
  } else {
    view.zoom -= 1;
  }
}

我们可以使用官方的插件,可以发现官方插件实现的放大缩小是带有动画的

import Zoom from "@arcgis/core/widgets/Zoom";
let zoom = new Zoom({
  view: view
});
view.ui.add(zoom, "bottom-right");

那么,官方插件放大缩小的动画是怎么实现的呢?

我们可以打开插件代码进行查看分析

大概就是调用view.mapViewNavigation属性的zoomIn()和zoomOut()方法,它是带有动画的

这个属性在官方文档并没有介绍

3.解决方法

// 放大缩小zoom
zoomInOrOut(type) {
    if (type === 'in') {
        G.view.mapViewNavigation.zoomIn()
    } else {
        G.view.mapViewNavigation.zoomOut()
    }
}
posted @   槑孒  阅读(238)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2022-01-14 Eclipse中的常用快捷键
点击右上角即可分享
微信分享提示