arcgis web for js
来源:互联网 发布:北京蓝鲸网络官网 编辑:程序博客网 时间:2024/05/18 23:57
官方网址
api 地址
demo地址
多功能工具栏
主题下载地址:
claro
tundra
nihilo
soria
沙箱底图可选方案: “satellite”, “hybrid”, “topo”, “gray”, “oceans”, “osm”, “national-geographic”
[如何做技术选型] (http://blog.csdn.net/dojotoolkit/article/details/7682978)http://blog.csdn.net/dojotoolkit/article/details/7682978
沙盒测试地址
subline ARCGIS sdk本地服务器地址
subline ARCGIS 测试地址
esri github资源代理 java php DotNet
arcgis help 中文
开发流程
下载 arcgis 的api 和 sdk
启用本地服务,将api,sdk 装载在本地服务中
修改配置文件 (arcgis_js_v311_api 下面install.html)
新建文件夹作为项目文件夹
创建测试文件
学习资源: (需付费)
http://edu.csdn.net/course/detail/5037
http://edu.csdn.net/course/detail/4384
http://edu.csdn.net/course/detail/799/10901?auto_start=1
中国基础地理信息数据:
链接 密码: ncx7
ArcGIS10.2破解版下载
链接 密码: j9y6
重要资源:
ersi video
dojo 官网
如何使用dojo dijit调整 widget 的样式?
如何使用dojo 制作”轮子”?(如何制作一个回到原点的功能)
GIS Stack Exchange 提问
arcgis 博客
arcgis 修改默认配置教程
教程:
arcgis 地图操作
添加点,线段,几何图形
地理处理任务-服务区域任务
交流qq群: 452117357
//可用链接
https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=ed_toolbar 二次编辑已有polygon
总结:
切片地图服务图层(TiledMapServiceLayer)多预先创建并还存在服务器中,多用做底图使用,
动态地图服务图层(DynamicMapServiceLayer)是每次发生一个请求后创建的,支持多种类型的操作(查询,设置定义表达式)
map对象的事件类型有: 鼠标事件 范围改变事件 地图改变事件 键盘事件 图层事件 平移缩放事件 等图形图层包括(皆为可选项)!!case1 几何形状 符号 属性 信息模版 流程示范 创建几何图形 var point = new Point(Number(theX), number(theY)) 创建符号 var markerSymbol = new SimpleMarkerSymbol(); 分配属性 markerSymbol.setStyle(markerSymbol.STYLE_CIRCLE); markerSymbol.setSize(12); markerSymbol.setColor(new Color([255,0,0,0.5])) 创建图形 var pointGraphic = new Graphic(pointESRI, markerSymbol) 添加图形 map.graphics.add(pointGraphic) 创建图形图层继承自 esri/geometry 包括:Point Multipoint Polyline Polygon Extent 创建符号: 点 SimpleMarkerSymbol (多点也行) 线 SimpleLineSymbol 面 SimpleFillSymbol 图片 PicturMarkerSymbol 文字 textSymbol 分配属性 样式 (STYLE_CIRCLE STYLE_CROSS STYLE_DIAMONO STYLE_PATH STYLE_SQUARE) 大小 轮廓 颜色
特征图层 用于与用户交互使用 !!case2
流程: 创建featureLayer对象 new FeatureLayer(url, {}) 设置可选参数 { mode: FeatureLayer.MODE_SNAPSHOT, // 显示模式 outFields: [], //查询字段 refreshInterval: 5, //设置图层刷新时长(分钟) disPlayOnPan: true //设置为false时可提高ie渲染的效率 } 定义显示模式 快照模式 FeatureLayer.MODE_SNAPSHOT 一次加载,直接使用 按需模式 FeatureLayer.MODE_ONDEMAND 按需加载,负载均衡 选择模式 FeatureLayer.MODE_SELECTION 加载选择的内容 设置定义表达式(过滤) FeatureLayer.setDefinitionExpression("PROD_RES = 'yes'"); 特征选择 FeatureLayer.selectFeatures eg: var selectQuery = new Query(); selectQuery.geometry = geometry; // 定义选择一个新的选择集 FeatureLayer.selectFeatures(selectQuery, FeatureLayer.SELECTION_NEW) // or 为已有选择集添加特征 //FeatureLayer.selectFeatures(selectQuery, FeatureLayer.SUBTRACT) 特征涂层渲染 有五种可选渲染器: SimpleRenderer 简单为所有图形设置同样的符号 ClassBreakRenderer 针对数字属性的分级设置不同的符号 UniqueValueRenderer 符号化图形(为每一个图形设置唯一的符号) DotDensityRenderer 显示空间离散的密度分布(人口密度) TemporalRenderer 提供基于时间的特征渲染 关键流程: 创建渲染器 var renderer = new ClassBreakRenderer(symbol, "POPSQMI"); 定义符号 renderer.addBreak(0, 5, new SimpleFillSymbol().setColor([255, 0, 0, 0.5])); renderer.addBreak(5.01, 10, new SimpleFillSymbol().setColor([255, 255, 0, 0.5])); renderer.addBreak(10.01, 25, new SimpleFillSymbol().setColor([0, 255, 0, 0.5])); renderer.addBreak(25.01, Infinity, new SimpleFillSymbol().setColor([255, 128, 0, 0.5])); 应用到特征图层 featureLayer.setRenderer(renderer); 注: -Infinity、Infinity 表示数据下限、上限控件与工具栏 [示例:]https://developers.arcgis.com/javascript/3/samples/toolbar_draw/ 流程: 1. 为每一个按钮设置样式 2. 在工具栏创建按钮 3. 创建一个esri/toolbars/Navigation 或者 esri/toolbars/Draw 实例 4. 关联按钮事件到处理函数中 arcgis 中的控件:https://developers.arcgis.com/javascript/3/jssamples/widget_bookmarks_editable.html BasemapGallery 底图画廊 用以切换地图 Bookmarks 书签 Print 地图导出 Geocoder 搜索框 Gauge 仪表盘 Measurement 测量长度 面积 获取鼠标的当前的坐标 Popup 模态框 Legend 显示地图上的标签与符号 OverviewMap 鹰眼图 Scalebar 比例尺 Directions 计算路径(导航) HistogramTimeSlider 以时间柱图来代表地图上的图层数据的启用时间 HomeButton 返回地图的初始范围 LocateButton 查找并缩放到用户当前的位置 TimeSlider 可视化启用时间的图层 LayerSwipe 用于比较同一底图上不同图层的内容 分析类控件 AnalysisBase ... 特征编辑 针对企业地理数据库存储的格式数据进行创建 删除 移动 剪切 合并 重塑 --> 特征服务 为web编辑提供符号化和几何数据特征 制作地图 -- 发布服务 -- 二次编辑 --> 特征部件 Editor 编辑一个图层(立即保存) 特征创建 移动 删除 编辑, 节点编辑,属性编辑, 关联附件 templatePicker 点击符号化(popWindow?) AttributeInspector 可通过web编辑特征属性(eg:日历控件) AttachmentEditor 关联一个特征到附件 Edit 自定义工具栏空间与属性查询(query QueryTask) 任务模式: 输入 --> 任务 --> 输出 流程:输入 -- 输入参数存储在 Query 任务 -- QueryTask执行任务 输出 -- 返回FeatureSet 结果集,包含一个Graphic特征数组 Query (可结合使用) geometry 空间查询(几何输入 点 线 面) where 定义属性查询 text 模糊查询(类似于where) 其他可选属性 定义返回的字段 输出空间参考系(几何类信息) 符合查询条件的几何特征信息 - - eg: 属性查询 var queryTask = new QueryTask(url); var query = new Query(); query.returnGeometry = false; //限制返回的字段 query.outFields = ['*']; //*代表返回所有字段 query.where = 'STATE_NAME = "shanxi"' /文本信息必须用引号包裹,数字布尔值除外 query.text ='shiquan'; queryTask.execute(query, callback, errback) function callback(FeatureSet){} function errback(){} - - 空间查询 (几何元素 空间关系常量) 可传入的几何元素 Extent Point Polyline Polygon 空间关系常量 SPATIAL_REL_INTERESECTS 特征类1的部分或者全部特征都包含在特征类2的特征中 SPATIAL_REL_CONTAINS 特征类1的部分特征包含在特征类2的特征中 SPATIAL_REL_CROSSES 特征类1的特征和特征类2的特征的并集 SPATIAL_REL_ENVELOPE_INTERSECTS 特征类1的特征和特征类2的特征的交集 SPATIAL_REL_OVERLAPS 特征类1的特征覆盖特征类2的特征 SPATIAL_REL_TOUCHES 特征类1的特征涉及特征类2中的边界特征 SPATIAL_REL_WITHIN 特征类1的特征完全被封闭在特征类2的特征中 SPATIAL_REL_RELATION 允许使用图形对比语言定义来指定的任何关系 eg: var query = new Query(); query.geometry = evt.mapPoint; query.spatialRelationship = SPATIAL_REL_INTERESECTS; 获取查询的结果集 function callback(FeatureSet){ var features = FeatureSet.features; var feature = null; for(var i=0; i<features.length; i++){ var feature = features[i]; var attributes = feature.attributes pop = attributes.POP90_SQMI map.graphics.add(features[i].setSymbol(sym)) =>设置符号 } }- --另外两种查询的方法 IdentityTask FindTask相同点:都能返回特征相关的属性 都能返回特征相关的属性不同点:被动执行(点击执行) 主动执行(属性查询)-IdentityTask 返回图层中字段的属性 流程: IdentityParameters IdentityTask IdentityResult IndentityParameters { geometry 地理信息 evt.mapPoint returnGeometry boolean true layerIds 执行图层的Id [0,1] tolerance 公差(相当于相似度,过高结果则少,过低或匹配不到,需要不断调试) number } IndentityTask var identityTask = new IdentityTask(url) var identityParameters = new IdentityParameters() identityParameters.geometry = evt.mapPoint; - identityTask(identityParameters, callback, errback);FindTask (查找之前必需引入 esri/taks/find resource) 流程: FindParameters FindTask FindResult FindParameters 可选参数 { searchText 查找属性和字段 dom.byId('ownerName').value; serachFields: [] //跨域搜索使用到的字段 returnGeometry layerIds geometry contains: false 精确查找,反之模糊查询不区分大小写 } 地址转换点 和 点转换地址 !!case5将地址添加到地图的流程: 地理编码为地址分配坐标 => Locator服务 - Locator 类 输入参数 - Address对象 (json) - Point对象 (逆地理编码)【操作地图获得】 提交到地理编码服务 返回匹配到地址的AddressCandidate对象 绘制到地图-网络分析任务(最短路径,临时设施, 服务区) RouteParamters RouteTask RouteResult整合ArcGIS Online 使用webmap ID 为应用程序添加ArcGIS Online 使用JSON 为应用程序添加ArcGIS Online 地图
- arcgis web for js
- arcgis for js UniqueValueRenderer
- arcgis for js
- ArcGIS for js API 3.6
- ArcGIS for js API 3.9
- ArcGIS for js API 3.10
- ArcGIS for js简单实现
- arcgis api for js 开发
- 基于Arcgis for Js的web GIS数据在线采集简介
- web项目调用arcgis api for JS离线包报“https://[HOSTNAME_AND_PATH_TO_JSAPI]dojo/...”错误解决方法
- 无法使用Portal for ArcGIS配置ArcGIS Web Adaptor
- Web AppBuilder for ArcGIS 新特性
- Web AppBuilder for ArcGIS亮点先睹为快
- Arcgis Server for js 入门初级教程
- ArcGIS API for JS 中的style
- Arcgis for Js之Graphiclayer扩展详解
- arcgis for js api离线部署
- arcgis for js api导入eclipse错误
- 用VS2008打开项目时出现了“初始化 Microsoft Visual SourceSafe 源代码管理提供程序时失败...”解决方式
- Maven打包生成包含所有依赖的jar包
- Android---解析异步消息处理机制
- python用于实现多线程异步交互之生产者消费者模型
- 如何把Kotlin代码转成java代码,如何把java代码转成kotlin代码
- arcgis web for js
- P2255【L1 SOLO 第五场 APIO2009】抢掠计划
- Kotlin基本语法文档记录
- SGU 275 异或线性基
- 163
- org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema cannot be cast to scala.Tuple2
- 深入HQL学习以及HQL和SQL的区别
- Linux下Qt程序的打包发布和问题总结
- Save the Students! UVALive