2010年1月6日
经过一份折腾,集成终于初步搞定了,今天实现的功能有:
1.识别功能(Identify)的实现,单击“识别”按钮后,在地图上单击一点,所有在被点击处3米范围内的地块都会以黄底红边状显示,而鼠标移动时则会出现各自地块的属性,鼠标移开,消息消失:
2.进一步完善了缓冲区功能,现在提供了点、线和面三种缓冲方式:
下面是一个线缓冲:
缓冲默认情况下是50米和100米,但通过缓冲距离设置窗口,也可以进行调整:
3.长度和面积功能的扩展:
下面是一个自由面积量测的例子:
4.对代码大小进行优化和调整,争取将代码size控制在20K以内(指本extend的Panel代码)。
2010年1月5日
继续对集成的Panel进行修改,这一次的修改部分比较底层,它包括:
1.对esri.Map类根据需要进行了扩展,派生出一个esri.AGSMap类来实现了我需要的许多功能;
2.对地图的图形绘制属性设置进行了充分地的调整,包括颜色、透明度、点、线和填充样式都可以自定义设置:
3.搭建了GeometryService服务,并通过该服务提供了长度量算、面积量算和缓冲区分析的功能:
缓冲区分析,该缓冲区的颜色、边缘线条样式均是可设的。缓冲的距离也可以调整。
注意左侧的那根手绘线,程序提供了自由量测功能。同样,它也是基于服务完成的。
4.针对图形绘制、单位查询和缓冲区的功能需求,分别为它们设置了不同的图形层,这样就不会出现互相冲突的的尴尬情况了。
效果很棒,呵呵。
闲暇时继续对我的这个Panel进行扩展,现在的效果终于出来了,首先是地图功能的增加:
第二是实现了查询的图文一体化,比如查询“银行”,左边地图中会出现绿色小点,而右侧也会出现相应的内容:
单击右侧的某一条记录,绿点会变成红点,同时弹出信息提示,但2秒钟后红点又会恢复为绿点,提示信息也会消失:
地图与右侧的信息窗口并不是一个Panel,它们是独立的,两边通过Ext的事件进行通讯,既方便又简单。
2010年1月3日
元旦在家继续对这个扩展组件进行了功能丰富,现在它已经能够提供模糊查询功能:
单击左下角的望远镜按钮,即弹出一个“查询”窗口:
查询“天一”的结果:
在查询出来的情况下,所有的查询点均以绿色点标识,如果将鼠标放上去,则会变成一个红点,并出现一个提示。将鼠标移开,符号再次变成绿点。
2010年1月2日
大家知道,AGS JavaScript API是基于Dojo开发的,而选择Dojo的理由之一是AGS JS API的开发人员觉得这个library的兼容性最好。我没有专门学过Dojo,不过在看到ExtJS之后,我对Dojo的兴趣就不大了,很多人认为ExtJS并不好,这个当然就纯属仁者见仁,智者见智的问题。
我喜欢UI用ExtJS写,但地图部分又必须使用AGS JS API来写,如何将两者进行mashup呢?以前ESRI曹鑫的曾经给我介绍过一个devsummit09的例子,里面的东西颇受启发,后来在ESRI中国09展会上也看到他用ExtJS写的东西,觉得很不错,不过自己当时在这个上面受到了技术阻力,转而使用OpenLayers去实现了地图功能。最近几天把东西重新拾掇了一遍,结合网上的一些例子,觉得还应该是挺简单的东西。
我的集成分两步,一是在ExtJS框架中实现AGS JS API的效果;第二是将AGS JS API的代码转换为一个Ext扩展组件。相对于先做原型,然后重构之。经过几天的琢磨,大体问题基本搞定,效果很不错。
下面是成果图:

界面

图形绘制

可以设置图形绘制时的颜色和透明度
2009年10月26日
摘要: 与Jack Dangermond总裁的合影 20-22号,去北京,参加了今年的ESRI年会,今年的大会以“设计我们的未来”为主题,展示了ESRI的一系列愿景、规划和技术。无论是最新的ArcGIS9.4...
阅读全文
2009年10月13日
摘要: 《WebGIS开发实践手册》已经在上周末(9号)印刷结束,本周即将装订入库。首批样书已经发往“搜海书店”(ESRI中国有限公司网络书店合作伙伴),将在20日的ESRI中国2009用户大会展会上首发出现...
阅读全文
2009年10月6日
摘要: 在全面了解和熟悉了ArcIMS这一GIS服务器的体系架构、组件、程序进程和开发方式等内容后,我们将开始迈向本书的第一个目标:使用Ajax等技术开发一个基于浏览器的WebGIS客户端程序。 我们为什么要...
阅读全文
2009年9月30日
摘要: 有了Web Manager和Designer,我们就可以高枕无忧了吗?如果用户的需求只是简单地显示和查询地图信息,这两个快速生成工具当然完全能够满足需要,但如果用户的要求更多一点,更复杂一些,就必须想...
阅读全文
2009年9月29日
摘要: 在了解ArcIMS的服务器层、连接器和Web ADF等原理性内容之后,我们需要开始了解如何使用ArcIMS服务器。ArcIMS中拥有多种不同功能的管理程序,便于用户制作地图、产生服务、开发Web客户端...
阅读全文