首页 > 其他分享 >arcgis api for 自定义zoom

arcgis api for 自定义zoom

时间:2023-01-23 15:06:15浏览次数:31  
标签:动画 插件 自定义 zoom arcgis mapViewNavigation api type view

1.需求

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

2.分析问题

UI视图

arcgis api for 自定义zoom_解决方法

一般情况,可能大部分初学者会使用以下代码对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");

arcgis api for 自定义zoom_解决方法_02

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

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

arcgis api for 自定义zoom_UI_03

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

arcgis api for 自定义zoom_解决方法_04

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

arcgis api for 自定义zoom_解决方法_05

3.解决方法

// 放大缩小zoom
zoomInOrOut(type) {
if (type === 'in') {
G.view.mapViewNavigation.zoomIn()
} else {
G.view.mapViewNavigation.zoomOut()
}
}

箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。



标签:动画,插件,自定义,zoom,arcgis,mapViewNavigation,api,type,view
From: https://blog.51cto.com/echohye/6021892

相关文章

  • Vue3中的异步组件defineAsyncComponentAPI的用法示例
    介绍当我们的项目达到一定的规模时,对于某些组件来说,我们并不希望一开始全部加载,而是需要的时候进行加载;这样的做得目的可以很好的提高用户体验。为了实现这个功能,Vue3中为我......
  • 自定义表单引擎
    先总体介绍一下大概的架构和核心模块设计。先上一张整体设计图 概念还是有点多,有一些概念可能比较新,如果熟悉K2自定义表单,可能比较好理解一些。对核心的一些功能......
  • .net NPOI导出Excel,自定义单元格背景颜色,office2007及以上,及office2003使用方法
    目录:NPOI相关功能目录开发环境:VS2015.Net版本:.NetFramework4.5.2NPOI版本:2.4.1.0本以为NPOI使用颜色值会非常方便,以为RGB或16进制赋值就行了没想到NPOI不这样给我们用,......
  • 【速记】C++ STL自定义排序
    这篇笔记咱日后应该还会进行补充。关于sort的比较函数STL的algorithm库中的sort函数,可以接受一个cmp函数作为第三个参数,用来指定排序的规则。自定义sort比较函数cmp(a,......
  • dremio api 简单说明
    以前在简单介绍dremiowebserver的时候提过dremio的api,实际上包含了量大部分,一个是为了bff的(方便前端使用的),一个是独立的restapi方便业务调用的(实际上就是官方文档中看......
  • mt_Day7: 多态、内部类、一些常用API
    多态同类型对象,执行同一个行为,会表现出不同的特征多态成员访问特点:方法调用:编译看左边,运行看右边变量调用:编译看左边,运行也看左边(多态侧重行为多态)publicabstrac......
  • 自定义生成相机标定棋盘图
    自定义生成相机标定棋盘图Writtenon2023-01-22.参考资料:A4、A3、A2、A1纸张尺寸大小毫米(mm)转像素点(px)生成棋盘格(标定板图片)摘自图片像素尺寸(厘米/英寸)换算器、......
  • c/c++ mysql api函数
    一、常用APImysql_affected_rows()返回上次UPDATE、DELETE或INSERT查询更改/删除/插入的行数。mysql_autocommit()切换autocommit模式,ON/OFFmysql_change_user()......
  • HTML超链接自定义颜色
    先添加一个css样式我这里直接内嵌了因为代码量比较少不会影响太大的性能<styletype="text/css"> body{background-color:#eaeaea} a#textColorStyle:li......
  • API(Objects)
    Objects是一个对象工具类,提供了一些操作对象的方法equals(对象1,对象2),先做非空判断,在比较两个对象//1:objects.equals(对象名1,对象名2)用来先做非空判断,比较两个对象boolean......