大家知道,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扩展组件。相对于先做原型,然后重构之。经过几天的琢磨,大体问题基本搞定,效果很不错。
下面是成果图:
界面
图形绘制
可以设置图形绘制时的颜色和透明度