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()
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2022-01-14 Eclipse中的常用快捷键