基于ArcGIS API for Javascript的地图编辑工具

转自:http://www.cnblogs.com/znlgis/p/3505646.html

最近工作上需要用ArcGIS API for Javascript来开发一个浏览器上使用的地图编辑工具,分享一下一些相关的开发经验。

我开发的地图编辑工具是根据ESRI提供的例子修改而来的,参考的例子是https://developers.arcgis.com/en/javascript/jssamples/ed_default_editingwidget.html

我们下面只说一些需要注意的问题:

1、代理的问题

Java Script API是基于REST访问的,通过GET的方式请求数据,这种方式有一个缺点,那就是URL的大少不能超过2048字符。为了解决这个问题ArcGIS Server引入一个代理。关代理的官方说明请参考Java Script API的 Using the Proxy Page一节(https://developers.arcgis.com/en/javascript/jshelp/ags_proxy.html)。

2、属性编辑的问题

当你去添加一个点或者一条线的时候,你肯定要去为这个点或者这条线输入一些我们数据库中定义好的属性,官方提供的例子是英文的,后台数据库也是英文的,这个问题就不明显,但是在我们这种中文环境下使用就会遇到我数据库里是英文的,客户端显示要是中文的这样的问题,想了很多办法效果都不理想,最后发现下面这段代码是可以的

 

 var featureLayerInfos = dojo.map(results, function(result) {
                return {
                    featureLayer: result.layer,
                    showAttachments: false,
                    isEditable: true,
                    fieldInfos: [
                        {fieldName: ‘name‘, visible: true,isEditable:true, label:‘点名:‘},
                        {fieldName: ‘type‘, visible: true,‘isEditable‘:true, label:‘类型:‘},
                        {fieldName: ‘direction‘, visible: true,isEditable:true,label:‘方向:‘},
                        {fieldName: ‘floors‘, visible: true,isEditable:true, label:‘经停楼层:‘},
                        {fieldName: ‘floor‘, visible: true,isEditable:true, label:‘所在楼层:‘}
                    ]
                };
            });

其实就是通过一些属性,把请求返回的图层信息根据需要格式化了一下,具体看帮助文档https://developers.arcgis.com/en/javascript/jsapi/editor-amd.html

3、编辑时的捕捉功能

我们在ArcGIS Desktop里面编辑的时候,会有捕捉功能,可以让我们准确的从某个点开始画新的图形,在ArcGIS API for Javascript里面也提供这个功能,具体的代码如下:

map.enableSnapping({snapKey:dojo.keys.copyKey});

好了,不说废话,这次就到这儿了,如果是用于浏览器上的数据编辑,ArcGIS API for Javascript确实比Openlayers强大一些,不过如果是手机端显示就必须是Openlayers了,请看我之前的博文

关于GeoWebCache的部署说明

http://www.cnblogs.com/znlgis/p/3487663.html

OpenLayers的定制

http://www.cnblogs.com/znlgis/p/3487896.html

基于ArcGIS API for Javascript的地图编辑工具

时间: 2024-12-07 19:22:18

基于ArcGIS API for Javascript的地图编辑工具的相关文章

基于ArcGIS API for JavaScript的统计图表实现

感谢原作者分享:https://github.com/shevchenhe/ChartLayer,在使用的过程中,需要自己进行调试修改,主要还是_draw函数,不同的ArcGIS JS API函数有差异,会出错. 首先是是扩展GraphicLayer dojo.provide("sggchart.SggChartLayer"); dojo.require("dojox.gfx"); dojo.require("esri.geometry"); d

arcgis api for javascript 3.16开发(一)

原来一直都在用Flex开发arcgis的地图接口,用的时间很长,用的习惯也顺手,可Flex这个开发工具已经基本要淘汰了,并且地图借助flash的方式加载在浏览器里已经不能适应webgis的快速开发需求,并且在多种客户端下支持度不是很好,所以转向了html5加arcgis api for javascript的开发,用了一段时间下来,感觉还挺好的,所以分享下经验.开发javasript的唯一不好的地方就是所有对象声明的时候都要看下开发文档,不像flex,AE开发都会有提示.我的开发环境是VS201

ArcGIS API for JavaScript 与Dojo的关系

API(之后都把ArcGIS API for JavaScript简称为API)构建在Dojo之上,从而充分利用Dojo来屏蔽各种浏览器差异. 那什么是Dojo呢? 伴随着Web2.0.Ajax和RLA的蓬勃发展,各种AJAX开发工具包发展起来,Dojo 正是其中的佼佼者.Dojo 为RIA的开发提供了完整的端到端的解决方案. Dojo主要由3大模块组成,分别是Core.Dijit.DojoX Core提供Ajax.事件.基于CSS的查询.动画及JSON 等的相关操作API. Dijit是一个可

ArcGIS API for JavaScript 4.2学习笔记[5] 官方API大章节概述与内容转译

内容如上,截图自ESRI官网,连接:ArcGIS API for JavaScript 4.2 [Get Started] 类似于绪论一样的东西,抽取了最需要关注的几个例子.如:加载Map和View,加载layers,使用弹出窗口,视觉化,与使用窗口小部件.(wtf居然没有分析你想搞事情啊web除了展示难道不应该有()&&*--@) [Mapping and Views] (点击进入我写的章节详细介绍) 最基础的,知道地图和视图的区别,能使用2D和3D地图,对地图的布局有一定的了解,对地图

ArcGIS API for JavaScript 4.2学习笔记[1] 显示地图

ArcGIS API for JavaScript 4.2直接从官网的Sample中学习,API Reference也是从官网翻译理解过来,鉴于网上截稿前还没有人发布过4.2的学习笔记,我就试试吧. 什么是ArcGIS API for JS?这里就不多介绍了,最关键的一点是4.x版本与3.x版本的变化,按官方的意思是重新写了底层. 笔记中规定: ArcGIS API for JavaScript简称AJS 使用CDN(即不配置本地环境)进行测试开发 其余根据需要进行修改.增删. 要将地图显示在h

我的ArcGIS API for Javascript 2

今天我给地图添加了绘制图形的ToolBar,看了好久的例子啊! 一.首先我们需要设置各要素对象的样式(以最基本的Symbol为例): var markerSymbol = new esri.symbol.SimpleMarkerSymbol(); markerSymbol.setColor(new esri.Color("#FF8F8F")); var lineSymbol = new esri.symbol.SimpleLineSymbol(); lineSymbol.setColo

ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 诸君,我喜欢嫩的--呸呸呸 诸君,我喜欢3D咋了?新事物会替代旧事物不是~ ArcGIS API for JavaScript 4.2概述 AJS 4.2,即ArcGIS API for JavaScript 4.2,是美国ESRI公司针对WebGIS市场推出的.利用JavaScript和Dojo开发的一款产品,它在2016年12月发布.而AJS 4.0 beta则在一年前就发布了. 关于AJS3和AJS4选择的问题,

ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务

1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2.ArcGIS Server介绍与安装 1.ArcGIS Server 是功能强大的基于服务器的 GIS 产品,用于构建集中管理的.支持多用户的.具备高级GIS功能的企业级GIS应用与服务,如:空间数据管理.二维三维地图可视化.数据编辑.空间分析等即拿即用的应用和类型丰富的服务.ArcGIS Serv

ArcGIS API for JavaScript 类名冲突

由于HTML5的出现,使得JavaScript再次焕发了生机,Esri的JSAPI应该是所有Web API里功能最完善的,最近也开始着手学习,发现了不少的坑. 在地图中InfoWindow应该是用的最广泛的了,显示信息的时候肯定是少不了它了,我在我的地图中使用它的时候,显示的不正常: 可以看到标题字体是蓝色的,而且左下角出现了许多奇怪的符号,搞了好长时间也没有找到出错的原因,后来群里一人说可能说CSS的设置导致的. 然后我使用chrome的开发者工具查看了一下InfoWindow的样式: 果 然