很久没更新自己的博客了,最近实在是忙,忙各式各样的文档编写,我发现写文档一定要静心,细心推敲文档内容的逻辑关系,投入时间把文档编写工作搞好,是很有必要的。现在人都很浮躁,我和组成员都有这毛病,文档编写被当做要应付的工作,导致编写过程反复多次,最后提交到领导手里,被领导批不行了。我发现文档模板收集很重要,真是处处留心皆学问。
文档编写工作量总是被大家低估,导致长时间编写文档就相当于没啥工作要做,所以边上总有多个编程工作在催着你等着你。
上面就是我前段时间的感受吧,我搞“Arcgis Flex API 地图标注保存与读取”就是实现将各类标注保存,下次可以读取修改。
下面简单记录一下我的实现思路:
初步技术路线:
1、使用Flex的开源库as3corelib.swc,实现标注对象的序列化
2、通过Flex调用WebService实现将序列化内容进行入库管理。
3、通过Flex调用WebService获取序列化内容为Arcgis的Flex类对象(如MapPoint等)。
实际中遇到的问题
1)as3corelib.swc无法序列化Arcgis的复杂对象(一个类对象里面涵括多个对象,如Graphic)
2)无法将序列化内容直接反序列化Arcgis的Flex对象
3)SimpleLineSymbol类无法直接被序列化,报“缺Patten属性”
针对遇到的问题,重新修订技术路线
0、封装Arcgis的标注相关类为自己的标注类
1、使用Flex的开源库as3corelib.swc,实现新标注类对象的序列化
2、通过Flex调用WebService实现将序列化内容进行入库管理,按标注类型不同分别存放。
3、通过Flex调用WebService获取序列化内容
4、自己解析序列化内容为自己的标注类
5、通过自己的标注类对象,构建Arcgis的Flex标注类对象。
目前封装效果实现:只需公开四个方法,平均二到三行代码即可实现地图标注的保存与读取。
关键封装代码截图如下:
1)封装列表类:
2)SymbolUtility.as代码截图
不足之处:注记保存与读取部分有待与数据库用户相关联。
应网友要求提供源代码:下载,仅供参考
本博客声明:本人的技术探索过程中,得到了国信司南公司方面支持。今后,本人博客里的所有技术探索成果将归“无痕客”、“国信司南”和“博客园”三方共同所有,原创作品如需转载,请注明本博客声明。