arcgis js api加载4490服务,以basetilelayer方式

2024-08-30 15:28

本文主要是介绍arcgis js api加载4490服务,以basetilelayer方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><metaname="viewport"content="initial-scale=1, maximum-scale=1, user-scalable=no"/><title>以basetilelayer加载切片服务</title><style>html,body,#viewDiv {padding: 0;margin: 0;height: 100%;width: 100%;}</style><linkrel="stylesheet"href="https://js.arcgis.com/4.27/esri/themes/light/main.css"/><script src="https://js.arcgis.com/4.27/"></script><script>require(["esri/Map","esri/views/SceneView","esri/layers/BaseTileLayer","esri/layers/support/TileInfo","esri/geometry/SpatialReference","esri/geometry/Extent","esri/config","esri/request","esri/layers/FeatureLayer",], function (Map,SceneView,BaseTileLayer,TileInfo,SpatialReference,Extent,esriConfig,esriRequest,FeatureLayer) {var tileInfo = new TileInfo({rows: 256,cols: 256,dpi: 96,format: "PNG",compressionQuality: 0,origin: {x: -180,y: 90,},spatialReference: {wkid: 4490,latestWkid: 4490,},lods: [{level: 0,resolution: 0.703125,scale: 2.958287637958547e8,},{level: 1,resolution: 0.3515625,scale: 1.4791438189792734e8,},{level: 2,resolution: 0.17578125,scale: 7.395719094896367e7,},{level: 3,resolution: 0.087890625,scale: 3.6978595474481836e7,},{level: 4,resolution: 0.0439453125,scale: 1.8489297737240918e7,},{level: 5,resolution: 0.02197265625,scale: 9244648.868620459,},{level: 6,resolution: 0.010986328125,scale: 4622324.4343102295,},{level: 7,resolution: 0.0054931640625,scale: 2311162.2171551147,},{level: 8,resolution: 0.00274658203125,scale: 1155581.1085775574,},{level: 9,resolution: 0.001373291015625,scale: 577790.5542887787,},{level: 10,resolution: 6.866455078125e-4,scale: 288895.27714438934,},{level: 11,resolution: 3.4332275390625e-4,scale: 144447.63857219467,},{level: 12,resolution: 1.71661376953125e-4,scale: 72223.81928609734,},{level: 13,resolution: 8.58306884765625e-5,scale: 36111.90964304867,},{level: 14,resolution: 4.291534423828125e-5,scale: 18055.954821524334,},{level: 15,resolution: 2.1457672119140625e-5,scale: 9027.977410762167,},{level: 16,resolution: 1.0728836059570312e-5,scale: 4513.9887053810835,},{level: 17,resolution: 5.364418029785156e-6,scale: 2256.9943526905417,},{level: 18,resolution: 2.682209014892578e-6,scale: 1128.4971763452709,},{level: 19,resolution: 1.341104507446289e-6,scale: 564.2485881726354,},{level: 20,resolution: 6.705522537231445e-7,scale: 282.1242940863177,},{level: 21,resolution: 3.3527612686157227e-7,scale: 141.06214704315886,},{level: 22,resolution: 1.6763806343078613e-7,scale: 70.53107352157943,},],});var tileExtent = new Extent({xmin: 114.11814939507543,ymin: 30.477998641133187,xmax: 114.29229960553091,ymax: 30.60676075395578,spatialReference: {wkid: 4490,},});var MyCustomTileLayer = BaseTileLayer.createSubclass({properties: {urlTemplate: null,},getTileUrl: function (level, row, col) {return this.urlTemplate.replace("{z}", level).replace("{x}", col).replace("{y}", row);},fetchTile: function (level, row, col, options) {var url = this.getTileUrl(level, row, col);return esriRequest(url, {responseType: "image",allowImageDataAccess: true,}).then(function (response) {var image = response.data;var width = this.tileInfo.size[0];var height = this.tileInfo.size[0];var canvas = document.createElement("canvas");var context = canvas.getContext("2d");canvas.width = width;canvas.height = height;if (this.tint) {context.fillStyle = this.tint.toCss();context.fillRect(0, 0, width, height);context.globalCompositeOperation = "difference";}context.drawImage(image, 0, 0, width, height);return canvas;}.bind(this));},});var mylayer = new MyCustomTileLayer({urlTemplate:"https://edutrial.geoscene.cn/geoscene/rest/services/hanyang4490/MapServer/WMTS/tile/1.0.0/hanyang4490/default/default028mm/{z}/{y}/{x}.png",tileInfo: tileInfo,});var map = new Map({spatialReference: new SpatialReference({ wkid: 4490 }),basemap: {baseLayers: [mylayer],},});var view = new SceneView({container: "viewDiv",map: map,extent: tileExtent,spatialReference: new SpatialReference({ wkid: 4490 }),});});</script></head><body><div id="viewDiv"></div></body>
</html>

参考资料:

arcgis javascript api4.x以basetilelayer方式加载arcgis发布的栅格切片服务_arcgis api for javascript加载本地影像切片-CSDN博客

这篇关于arcgis js api加载4490服务,以basetilelayer方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121208

相关文章

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Mybatis的分页实现方式

《Mybatis的分页实现方式》MyBatis的分页实现方式主要有以下几种,每种方式适用于不同的场景,且在性能、灵活性和代码侵入性上有所差异,对Mybatis的分页实现方式感兴趣的朋友一起看看吧... 目录​1. 原生 SQL 分页(物理分页)​​2. RowBounds 分页(逻辑分页)​​3. Page

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程