
ArcGIS API For JavaScript
文章平均质量分 57
用JavaScript使用ArcGIS服务的API接口
xizhjxust_GIS
gis前后端开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ArcGIS API For JavaScript(8)之使用动态图层dynamicLayers实现多图层合并截图
场景还原: 定位某个矢量图斑范围面,过滤展示该图斑,以图斑为中心,截图图斑周边并附带影像底图的截图。 在前端要实现地图截图,首先想到的是使用arcgis rest api中的export接口,这是没问题的,export方法可以很轻松的实现图片导出。官网rest api导出截图的参考地址如下:Export Map—ArcGIS REST APIs | ArcGIS Developers 通过bbox控制导出范围,用于定位到指定图斑范围;layers控制要导出的图层;l原创 2022-12-05 21:22:29 · 1430 阅读 · 0 评论 -
ArcGIS API For JavaScript(7)之通过CSS3 Filter(滤镜)方式实现不重发底图服务而改变底图配色方案
场景还原:在实际应用中,如果已经发布的服务不满足客户的配色需求时,一般做法是从数据源入手,重新配色后发布,但有时数据源来自于第三方(比如天地图服务),无法获取到数据源时,就无法实现重发布,本文将采用CSS3 Filter(滤镜)的来实现配色改变。之所以可以使用CSS来实现,是因为切片图层其实都是以DIV容器包裹着一系列的img文件,因为可以使用CSS调节图片样式。CSS3 Filter 属性说明如下:Greyscale(灰度) Blur(模糊) Saturate(饱和) Se.原创 2021-10-09 16:25:46 · 1051 阅读 · 1 评论 -
ArcGIS API For JavaScript(6)之使用ArcGIS REST APIs实现地图服务管理(查询、启动、停止、删除)
实现效果如下:可以在自己的app应用中操作地图服务的启动、停止、删除。实现过程:1、先生成token生成token的url:http://localhost:6080/arcgis/admin/generateToken可查看官网生成token的文档介绍https://developers.arcgis.com/rest/enterprise-administration/server/generatetoken.htm参数:(1)username: 使用该toke.原创 2021-05-22 17:39:19 · 1194 阅读 · 0 评论 -
ArcGIS API For JavaScript(5)之使用SVG实现扩散效果动画,并且实现缩放平移后SVG图形位置自动更新
实现的案例效果如下:实现过程:1、首先需要找到地图容器,在地图容器中动态添加SVG图形,并且保证SVG图形位于其他交互图层的底部,防止其他图层被遮挡,导致交互事件失败。地图容器对应的html元素id为map.id+“_gc”通过使用prepend将svg添加到最底层$('#map_gc').prepend(` <svg xmlns="http://www.w3.org/2000/svg" version="1.1" style="display:block" id="addS原创 2021-05-21 20:50:29 · 2067 阅读 · 2 评论 -
ArcGIS API For JavaScript(4)之图层渐变过渡切换及对点要素图层中新增要素进行符号放大并高亮闪烁动画展示
实现的案例效果如下:图层渐变效果即是对图层的透明度(0-1)进行动画展示。透明度变化动画使用dojo框架中dojo/_base/fx的animateProperty来完成,可针对html原始进行opacity进行设置。arcgis api的图层渲染后其实都是由一层div包裹着,通过api提供的getNode方法获可取图层div。在获取div前先确保图层已经初始化并生成dom元素。渐变方法代码如下: //渐变切换图层,可用于底图切换时达到过渡效果原创 2021-05-21 20:01:58 · 1592 阅读 · 5 评论 -
ArcGIS API For JavaScript(3)之点击查询多个地图服务图层时实现infoWindow默认第一个展示最顶层服务数据的一种方法
场景还原:客户的一个奇葩需求。当多个服务数据在同位置上有重叠覆盖的情况时,希望第一个优先展示最顶层服务的数据的属性信息。当我们在地图上进行点选或者进行其他范围选择时,如果需要将当前地图上加载的所有地图服务都查询并使用InfoWindow进行展示时,infoWindow虽然可以通过数字显示总共查询到的要素个数,通过点击下一个可以切换,但由于查询的执行是异步的,默认是无法确保查询的第一个要素为最顶层服务的数据。需要解决的问题:可考虑在所有查询执行完毕后进行截获,重置InfoWindow中展示原创 2021-04-26 20:31:39 · 762 阅读 · 0 评论 -
ArcGIS API For JavaScript(2)之解决内网映射外网后,ArcGIS Server内置的GP打印服务因IP问题导致打印失败
场景还原:客户服务器网络情况说由内网映射到外网,实现了外网访问,在服务器内部网络是无法再访问到映射的外网IP;ArcGIS Server安装在该服务器内,因GP打印服务内置在ArcGIS Server下,服务器内部只能通过内网访问地图服务,当客户在外网环境下登录系统后,GP打印服务获取到的地图服务都是外网的地址,导致打印失败。需要解决的问题:实际上需要解决的是如何将打印服务传入的地图服务参数地址由外网再转回到内网。查询GP打印服务调用可以发现有个Web_Map_as_JSON参数,这个参原创 2021-04-26 19:41:07 · 611 阅读 · 2 评论 -
ArcGIS API For JavaScript(1)之前端获取地图服务MapServer的所有数据(突破默认1000条的限制)
在实际的应用场景中,有可能需要一次性读取到地图服务中的所有数据的需求,当服务中数据量超过默认1000条时,因数据量限制,请求只会得出前1000条,虽然可以通过对ArcGIS Server中更新请求最大值,但数据稍大些时,往往会造成服务超时的情况,导致请求失败。以下通过Promise.all等待多个query查询结束后合并所有结果来实现。 function queryAll(config,map,callback) { // var load = layer.原创 2021-04-26 17:29:46 · 1318 阅读 · 0 评论