查询是webgis常用功能之一,基于地图的查询经历了多种形式的演变,现在用什么形式来展现查询已经没有固定模式,在适合webgis范围内,什么形式能够满足应用,就用什么形式的查询。举例描述一个最经典的场景,鼠标点击地图显示一个TIP小窗口,显示查询对象的简单信息,小窗口中提供一个"详细信息"链接,点击后弹出网页显示资料卡片。还有这样的形式,如拉框选择点要素,同时在地图下方的DIV显示出选择点的属性信... Read More
Graphics绘制是webgis基本编辑功能之一,基于JavascriptAPI进行开发很容易联想到其基础功能的提供者--Dojo,point、multipoint、polyline、polygon等基本图形可以很方便的在地图上绘制出来,效果还不错!这里需要引入一个新的库"esri.toolbars.draw"。 Toolbar并不是一个用户接口组件,而是一个Helper类用于在地图上绘制图形... Read More
地图配置围绕对地图基本操作的一些效果进行定制,有的是从程序调试考虑,有的从界面美观上考虑,有的从服务器响应速度上考虑。 内容目录:1.程序调试2.自定义导航按钮3.自定义移动、放大缩小动画4.滑动条标注、刻度、位置、大小1.程序调试是开发中必不可少的一个重要过程,js调试在Firefox浏览器上有一个大家耳熟能详的工具Firebug,但是在IE环境下暂时还没有这么好的调试插件,因此可以利用doj... Read More
深入浅出 Javascript API(二)--地图显示与基本操作 地图显示与基本操作(放大、缩小、移动、坐标显示)是JavascriptAPI的基本功能,也是一个WebGIS应用的基本内容,Javascript提供了非常便捷的开发方法,当然在线浏览需要Ags服务器支持,如果自己电脑上没有配置Server服务,可以使用ArcGIS Online在线服务。 内容目录:1.Cache和非Cache地... Read More
Javascript API是ArcGIS Server 9.3新增的一套API框架,为创建WebGIS应用提供了轻量级的解决方法,在客户端利用ags所提供的服务,就能实现地图应用和地理功能。 还记得ArcIMSBlueviewer示例框架,里面的所有操作都是基于客户端实现,放大缩小平移都是在javascript脚本中完成参数计算,将结果返回服务器得到我们所需的图片,重写过Blueviewer的... Read More
arcgis api for flex 高级主题(二) 自定义控件的开发arcgis api for flex 本身只提供了Navigation和ScaleBar两个控件,并且api中对如何开发自定义的控件做详细的描述(也可能有,是我没找到)、下面就介绍一下我的方法。以实现一个能在地图上动态显示当前鼠标经纬度的控件。1 定义控件类,集成UIComponent ,实现IMapAware接口2 重载c... Read More
arcgis api for flex 高级主题(一) esri tilemap 四叉树索引研究esri tilemap四叉树索引和google map 的四叉树索引是有区别的,区别在于google map在第一次分幅的时候分为4片,但esri tilemap只分为2片,相当于在第三和第四象限没有图。只有(0,0)(0,1)的时候才有图,这就造成了google map和esri tilemap融合... Read More
arcgis api for flex 开发入门(九)webservices 的使用flex 本身对webservices有着良好的支持,我们可以调用互联网上的各种webservices来结合esri 的map 做出自己想要的东西我们就拿现在比较流行的天气预报来做例子,我们要实现的目标就是通过webservices查询到武汉的天气情况,然后使用infowindow 显示到esri 的map上,在讲... Read More
在arcgis api for flex中esri还为我们提供了GP服务,在ARCGISONLINE 上的gp服务有CreateDriveTimePolygons和Viewshed,下面我们以CreateDriveTimePolygons服务为例来看看在arcgis api for flex中如何使用GP服务。首先使用 <esri:Geoprocessor >标签创建一个gp服务,u... Read More
arcgis api for flex 开发入门(七)Geometry service 的使用Geometry service 顾名思义,就是提供针对几何层级的服务,比如说Project,Simplify , Buffer,Areas And Lengths , Lengths 等详细信息可以到下面的地址去看一下http://sampleserver1.arcgisonline.com/ArcGI... Read More
arcgis api for flex 开发入门(六)identifyidentify 是GIS中比较常用的工具之一,在arcgis api for flex中esri为我们提供了一个Identify Task来轻松完成identify 的功能。首先,还是使用<esri:IdentifyTask>标签来创建一个Identify Task。 <!-- Identify Task ... Read More
在gis中,针对要素的查询是一个最基本的操作,也是最常用的操作之一。下面我们介绍如何使用arcgis api for flex 来查询我们需要的东西。要在arcgis api for flex中进行查询操作,首先需要定义一个查询任务面板。使用<esriueryTask>标签就可以了。<esriueryTask id="queryTask" url="http://samplese... Read More
arcgis api for flex 开发入门(四)Darw控件的使用arcgis api for flex 在客户端提供了强大的绘制功能,可以通过简单的调用来完成复杂的绘制工作,达到很好的交互效果,提供完美的用户体验,感觉不出来是在web上操作。下面我们就一起来实现绘制功能。首先,我们需要定义一个draw 控件,使用<esriraw>标签来完成创建工作,如下面的代码<esri... Read More
arcgis api for flex 开发入门(三)地图浏览控件的使用地图浏览包括放大,缩小,漫游,复位,上级窗口,下级窗口等在arcgis api for flex中,esri 已经封装好了一个地图浏览,我们在程序中可以直接使用,只需要几十行代码,就可以完成复杂的任务。首先在上一讲的基础上创建一个Navigation 控件。使用<esri:Navigation>标签就可以了。<... Read More
arcgis api for flex 开发入门(二)map 的创建在flex 中创建一个esri 的map ,你只需要使用<esri:Map>标签就可以轻松完成。在<esri:Map>标签中可以添加属性和响应事件的消息。如下:<esri:Map width="100%" height="50%" id="EsriMap" creatiresize="EsriMapR... Read More
arcgis api for flex 开发入门(一)环境搭建arcgis api for flex 是arcgis 今年四月新推出来的进行RIA开发的flex库,是arcgis server9.3的一部分,使用ArcGIS API for Flex可以基于ArcGIS Server建立漂亮的富互联网应用程序 rich internet applications (RIAs) ,优点是运行速度快,... Read More
SilverlightAPI中还包括了一个ESRI.ArcGIS.VirtualEarth.dll类库,让我们可以方便的访问到老东家的VirtualEarth服务。目前SilverlightAPI中提供的VirtualEarth服务有三种:Map,Geocode和Routing,不过一看就知道后两种服务对于国内的数据来说又无缘了。 直接看如何使用它的Map服务获取地图数据吧。同前,新建一个Sil... Read More
通过上一节学习,可以看出在Silverlight API中不仅可以轻松使用ArcGIS Server9.3发布的地图服务,也可以通过继承相应的图层,引入其他的数据源,比如ArcGIS Server9.2发布的地图服务,WMS服务,或者其他免费的数据。本节就通过一个实例,来看看如何将Google Map作为底图数据。 Google Map是经过缓存的数据,所以需要继承的是TiledMapServi... Read More
在用SilverlightAPI开发的过程中,不论是从客户端提交到服务器端的数据,还是从服务器端返回客户端的数据,都要表现在浏览器中,具体的来说是Map控件里。但根据各自类型的不同,比如数据源,地图服务的类型,是否缓存等,决定了它们将处于某个图层里,前面讲过的GraphicsLayer就是一种图层。清楚地认识这些图层类型,对于处理于服务器与客户端之间的地图数据来说是很重要的。 所有的图层都是从L... Read More
通过上一节的学习,我们已经知道了如何与GraphicLayer交互,但毕竟GIS不是一个画板,所以这节来看一下如何通过Silverlight API完成GIS中的分析功能。 GIS之所以是一个通用的工具,就是因为它具有各种各样分析和处理数据的能力。Silverlight API中提供了Task,使我们能够轻松完成常见的分析任务。 先来考虑一下吃饺子的场景。要想吃饺子,我们需要先去买菜,买肉,回... Read More