当前位置: 代码迷 >> Web前端 >> OffLineMap顶替方案研究
  详细解决方案

OffLineMap顶替方案研究

热度:215   发布时间:2012-10-30 16:13:35.0
OffLineMap替代方案研究
   这个dc展示方案始终是得解决的,我感觉鸭梨很大。花在这个上面的时间加起来也有个把星期了,上网搜索到的地图API几乎都是在可上网的前提下才可以使用,寻寻觅觅终于发现了地球玩家这么个好东东,简单实用,非常符合我们项目的场景(我们只是用地图起个展示作用)。
   灵图也有一个离线版的,但是那个貌似太大了而且是js版的,估计短期内也不能拿来使用,因此目前只能寻求不用地图的替代展示方案。

1、 弹出窗体的一种响应模式
   ParentView中:
    showEventDetail(){
       BlurPopUpEffect.show(eventDetailView,this,true);
       model.getSelectedEventSource;//在model中发送事件yyy
    }
    Flex Mate的map中
    <Injectors target="{childView}">
       <ListenerInjector eventType=yyy method=zzz/>
    </Injectors>
这样便可以在ChildView中进行一系列的处理。

2、 需求:在googleMap不可用的情况下,启用替代展示方案    问题: Flex如何判断网络不可用呢(如何判断googleMap加载失败呢)
上网搜索,结果很让人郁闷,搜索结果都是AIR版的,这个我已经在另一篇博文中有所提及。找不到现成的资料便开始自我摸索:
    var loader:URLLoader;
    initNetwork():void{
    loader.addEventListener(HTTPStatusEvent.HTTP_STAUS,test);
    var request:URLRequest = new URLRequest("googleMap对应的域名");
    loader.load(request);
   }

    test(evt:HTTPSStatusEvent):void{
      Alert.show("httpStatus:"+evt.status);
      var getDataLength:int = loader.bytesLoader;
      Alert.show("dataLength is:"+getDataLength);
     getDataLength=0;
   }
接下来开始不断地拔网线、插网线测试:
谷歌浏览器 
   不刷新时:
   getDataLength被赋值之后便不再变化,evt.status则在0与x之间不断切换
     刷新时:
   当联网时两个值都不为0,而断网时则两者都为0
***这样子貌似可以通过判断evt.status是否等于0来得出联网/断网的结论;

IE浏览器:  
   不刷新时:
   两者一旦被赋值则不管网络连接与否值都不再发生变化
   刷新时:
   getDataLength不为0,evt.status为0
在此还仅仅只考虑到两种浏览器则已经出现分歧了,因此***是不能作为判断联网与否的依据

   转而考虑使用后台的java来判断联网与否,这种方式是可行的,只是如何将此判断继承到项目中尚有点疑问... ...

拓展之HTTPSTATUS: 
1xx:信息   2xx:成功  3xx:重定向  4xx:客户端错误 5xx:服务器错误

3、 事件详细信息中会打印出事件对应的堆栈信息,问题:如何格式化TextArea?
   待实践... ...

4、 一个问题
环境:eclipse3.5+flex4 电脑配置:双核+4G内存
项目介绍:项目有很多个模块(大概有10个模块),这些模块中有个是合成模块,各个模块可以手动编译成swc文件放到合成模块中,由合成模块将这些swc合成swf文件。
问题:当修改过一个模块后,编译成swc文件,然后刷新合成模块,刷新要花很长时间。请问刷新的时间是花在将各个swc文件合成swf文件呢?还是花在添加依赖库文件?要如何解决这个问题?
参考思路:采用外部SWC编译,结合RSL机制
               待研究... ...
――――――――――――――近日工作总结――――――――――――――――――
   1、从现在起得促使自己养成一种普遍性产品意识,如平时在使用一些软件时得想想这些软件的亮点在哪儿?当这种产品意识逐渐演变为潜意识之后,那么将使得自己在需求挖掘与产品规划方面的能力得到提高。
   2、在修改bug时要养成一种快速响应的习惯(不是处于那种专注工作期时),这样子可能更利于对问题的修复,因为许多问题并不是必然性问题,因此一旦错过时机可能导致更难定位

――――――――offMap相关资料候补――――――――――――――――――
   TheEarthPlayerLib源代码:
http://code.google.com/p/earthplayer/source/browse/#svn%2Ftrunk%2Fsrc%2Fcom%
2Fearthplayer%2Fepmap

地球玩家源码下载链接:
http://d.download.csdn.net/down/1005266/alexsu1229
http://www.ibm.com/developerworks/cn/web/wa-lo-flexgoogle/
  相关解决方案