arcgis js 4.x 地图中加入图片

arcgis js 4.x版本,如何加入图片


问题:如何将自定义图片放入到arcgis的图层当中?

本人在网上查找的方法中,发现大部分方法只适用于3.x版本,只有一种引入自定义BaseDynamicLayer的方法可用,然而按照这种方式,无法满足动态刷新图片的需求。

解决方法
step 1:还是使用BaseDynamicLayer引入图片

var mainMap = new Map({basemap:"satellite",ground: "world-elevation",});
//创建MapView来存放各个图层
var mainView = new MapView({map:mainMap,container:"viewDiv",center:[110.3147025,37.5991070],zoom:13,
});var CustomImageOverlayLayer = BaseDynamicLayer.createSubclass({properties: {picUrl: null,extent: null,image: null,canvas: null,},// Override the getImageUrl() method to generate URL// to an image for a given extent, width, and height.getImageUrl: function (extent, width, height) {//新Image对象,可以理解为DOMif (!this.image) {this.image = new Image();}this.image.src = this.picUrl;// 创建canvas DOM元素,并设置其宽高和图片一样if (!this.canvas) {this.canvas = canvas = document.createElement("canvas");}this.canvas.width = 2000;this.canvas.height = 2000;//左上角坐标转换屏幕坐标,为了获取canvas绘制图片的起点var mapPoint = {x: this.extent.xmin,y: this.extent.ymax,spatialReference: {wkid: 4326}};var screenPoint = mainView.toScreen(mapPoint);//根据extent范围计算canvas绘制图片的宽度以及高度//左下角var leftbottom = {x: this.extent.xmin,y: this.extent.ymin,spatialReference: {wkid: 4326}};var screen_leftbottom = mainView.toScreen(leftbottom);//右上角var righttop = {x: this.extent.xmax,y: this.extent.ymax,spatialReference: {wkid: 4326}};var screen_righttop = mainView.toScreen(righttop);this.canvas.getContext("2d").drawImage(this.image, screenPoint.x, screenPoint.y, Math.abs(screen_righttop.x - screen_leftbottom.x), Math.abs(screen_righttop.y - screen_leftbottom.y));return this.canvas.toDataURL("image/png");}
});
const temp = ["t=0.png", "t=180.png","t=360.png","t=540.png","t=1080.png","t=1260.png","t=1440.png","t=1620.png","t=1800.png","t=1980.png","t=2160.png","t=2340.png","t=2520.png","t=2880.png","t=3060.png","t=3420.png","t=3600.png"]		//待遍历的图片名称var ImageOverlayLayer = new CustomImageOverlayLayer({picUrl: "../images/changePic/"+temp[0],   //图片路径extent: {xmin: 110.2237025, ymin: 37.5121070, xmax:110.4497025, ymax: 37.6551070}		//图片位置(最大最小经纬度)
})
mainMap.add(ImageOverlayLayer, 0);	//将图片图层放入mainMap,并设置在最底层

step 2(关键):实现图片动态切换

function showTime()
{ImageOverlayLayer.refresh()
}
setInterval(showTime, 1);		//设置图层每秒自动刷新一次(很重要)
for(var i = 1; i < 17; i++) {(function (i) {setTimeout(function () {	//设置定时器,每三秒刷新后一张图片ImageOverlayLayer.picUrl = "../images/changePic/"+temp[i]		//更新图片路径并刷新图层ImageOverlayLayer.refresh()}, (i + 1) * 3000);})(i)
}

至此,就可以实现在arcgis js 4.x,图片的动态切换了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对你的的应用程序进行Debug

对你的的应用程序进行Debug 介绍如何使用Microsoft Visual Studio Code Name "Orcas" Beta 1对基于Silverlight的应用程序进行debugging .在Silverlight中debugging所使用的工具和技巧和其它的 Visual Studio projects是类似的. 想查看更多的关于debugging信息的, 查…

如果reporting server出现“无法安装打印控件”的处理方法。

1.打开"控制面板",选择"添加或删除程序"2.将显示更新更新打勾.3.查找文件"KB956391安装更新"4.卸载此文件即可打印了 转载于:https://www.cnblogs.com/miaomiaoga/archive/2008/12/02/1346319.html

在.Net如何制作自定义的快捷方式(转)

我们用.Net安装程序生成的快捷方式是这样的&#xff0c;如下图&#xff1a;该图中目标所对应的文本框是灰色的&#xff0c;并且下方的查找目标和更改图标两个按钮也是不可用。这样我们根本就没有办法更改这个快捷方式。假如这时有个客户需要在程序启动的时候传入一些参数&#…

大数据——Kafka学习笔记

具体代码可以参考&#xff1a; https://github.com/Ostrich5yw/java4BigData/tree/master/java4Kafka

ITOO高校云平台V3.1--项目总结(一)

高校云平台&#xff0c;可以说是我参加的的一个实战性的项目&#xff0c;刚开始接触&#xff0c;可以说是有点蒙&#xff0c;到真正的用到实践中去的时候才发现&#xff0c;之前学到的好多的知识&#xff0c;还只是依然处于学过的层次上&#xff0c;想要真正的运用到项目中去&a…

TABCTL32.OCX 文件

引用&#xff1a;http://zhidao.baidu.com/question/287980070.html 从网上下载TABCTL32.OCX解压缩后拷贝此文件到c:\windows\system32 点开始 运行 输入 regsvr32 TABCTL32.OCX 显示成功后就可以了。 地址&#xff1a; http://ishare.iask.sina.com.cn/f/7602536.html?fromli…

ASP.Net中控件的EnableViewState属性

在ASP.Net中对各个WebForm控件引入以前没有的EnableViewState属性。这个属性究竟有什么用。我们知道对于WebForm而言&#xff0c;其代码是在服务器端的&#xff0c;以处理客户端的请求。当用户通过浏览器浏览网页的时候&#xff0c;会对网页进行某些操作&#xff0c;比如打开新…

大数据——SparkCore学习笔记

Spark 一、Spark简介 Spark 是一种由 Scala 语言开发的快速、通用、可扩展的大数据分析引擎Spark Core 中提供了 Spark 最基础与最核心的功能Spark SQL 是 Spark 用来操作结构化数据的组件。通过 Spark SQL&#xff0c;用户可以使用 SQL 或者 Apache Hive 版本的 SQL 方言&am…

如何用Mybatis分库分表

分库 在分库的时候 有时候为了方便 一些表需要存放所有库的信息&#xff0c;称为全局库。如&#xff1a;用户表存放所有的用户。 此时分库的思路 数据库分为全局库和业务库&#xff0c;其中业务库又分为N多个库&#xff0c;全局库只放个别表方便开发。 这个时候 就需要一个全局…

Kubernetes权威指南精彩段落

2019独角兽企业重金招聘Python工程师标准>>> 看到上述两段代码&#xff0c;你可能会有一种“开门复动竹, 疑是故人来”的感觉。的确&#xff0c;这段代码经笔者反复考证后认定&#xff1a;100%高仿kubernetes Controller Server中的代码。连传说中的谷歌大神也能cop…

常用文献管理软件使用经验

常用的文献管理软件有&#xff1a;Endnote、Biblioscape和Reference Manager。由于不知道哪个好用&#xff0c;我把三个都装上进行了对比。 一、首先是在Word中引用文献功能的比较。 Endnote是最方便的&#xff0c;工具条上的按键就可以把文献插入到Word中。Biblioscape也能与W…

IMP出现的ORA-01401错误可能和字符集有关(转载)

今天在论坛上&#xff0c;看到有一位朋友问 “我备份数据库后在其他的机器上再导入这个数据库&#xff0c;出现如下错误&#xff0c;并只能导 入部分数据。 IMP-00019: row rejected due to ORACLE error 1401 IMP-00003: ORACLE error 1401 encountered ORA-01401: inserted v…

QT中的pro文件

动态库pro设置VERSION 1.0.1901.0时&#xff0c;产生目标名字总会带数字1解决方法&#xff1a;CONFIG skip_target_version_ext设置输出路径 DESTDIR ./output静态链接 LIBS -L$$PWD/../../lib -lopencv_world320转载于:https://www.cnblogs.com/huanyinglvtuan/p/11280013…

大数据——SparkSQL学习笔记

Spark 一、SparkSQL简介 ​ Spark用来处理结构化数据的一个模块&#xff0c;它提供了两个编程抽象分别叫做DataFrame和DataSet&#xff0c;它们用于作为分布式SQL查询引擎&#xff08;类似于Hive&#xff0c;为便于进行MapReduce操作而使用类SQL语句进行Spark操作&#xff09…

windows phone7资料整理

wp7资料库 http://msdn.microsoft.com/zh-cn/magazine/gg598932.aspx 开发指导视频&#xff1a; http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners 指导博客&#xff1a; http://www.jeffblankenburg.com/2010/09/30/31-days-of-windows-p…

远程连接 SuSE Linux 设置方法

作者&#xff1a;Flyingis 且不说远程连接的便利性&#xff0c;就是机房里那轰轰的高分贝就足以让你的耳膜形成习惯性振动&#xff0c;何况还需要集中精神工作呢&#xff0c;在网络带宽允许的情况下&#xff0c;还是选择远程吧。远程连接的客户端工具有很多&#xff0c;有商…

android获取控件宽度高度

前几天&#xff0c;在自定义控件的时候碰到个问题&#xff0c;就是在如何获取自定义控件的高宽。在自定义控件类的构造函数中&#xff0c;本来以为可以轻松获取&#xff0c;但事实不是这样。我测试了下面代码&#xff1a; 先是布局代码&#xff1a; <com.lml.getvalues.MyVi…

浅谈Java网络编程之Socket (1)

和大家一起分享的是Java网络编程之Socket。在Java中Socket可以理解为客户端或者服务器端的一个特殊的对象&#xff0c;这个对象有两个关键的方法&#xff0c;一个是getInputStream方法&#xff0c;另一个是getOutputStream方法。getInputStream方法可以得到一个输入流&#xff…

Windows10系统Python2.7通过Swig调用C++过程

我用的 python版本是2.7.12&#xff1a; Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit (AMD64)] on win32 1, 下载Swig 下载地址&#xff1a;http://www.swig.org/download.html&#xff0c;我下载了最新版本swigwin-4.0.0. 下载后直接解压…

《当程序员的那些狗日日子》(六十一)美丽的天际

《当程序员的那些狗日日子》&#xff08;六十一&#xff09;美丽的天际 注&#xff1a;这一篇之后&#xff0c;全文完结&#xff0c;后面还会再写一篇《后记》&#xff0c;以记录我在写作中的一些心情和感受&#xff0c;以及我想对各位支持和关注的朋友说的话。 我交了订金订购…