• Google Maps, Timeline, and Flex (some web applications)

    作者:  • 2008 年 3 月 17 日 • 历史研究 • 6 条评论

    前一段时间连续据信的轰炸,包括以前套词比较顺利的国外老师,甚至一些中意的老师也莫名其妙为什么我会被rej。hedgedog要去waterloo了,milky准备去UFL,lorry 准备去tamu,还有管牛准备去princeton,蒋微,金刚,徐MM,天驰… 看着师弟和师妹们以及几个好朋友拿到心仪的offer,除了对他们的祝福,剩下的就是于己的遗憾。那天老刘问我有几个offer,我说我没有,老刘说我不愿意告诉他,其实是自己真的没有,呵呵。想想最近做的事情,要不就是在寝室看the simpsons或者康熙,要不就是偶尔重拾旧业玩玩“挖坑”。珠江路地铁站新开了家游戏城,投篮机仍是我的最爱,某位牛教授说Persistence often pays off,是啊,经过我漫长的投篮训练,我已经可以闭着眼睛,右手习惯性的抖动,便可投到250的高分。Stage 3令人鼓舞,火箭令人鼓舞,22连胜的战绩让姚明郁闷,也许这也是我郁闷的原因。前几天去了趟鸡鸣寺,虔诚地想佛祖拜上高香,希望在申请最后的日子里有个好运,默默的等待消息吧。

    切入正题,在Timeline邮件列表里有一封关于Timemap的系列信件,过年的时候已经starred,但是一直没有仔细看看。Nick用javascript写了关于如何整合Timeline和google maps的脚本timemap,具有以下的功能:

    * load data in JSON or KML
    * load multiple datasets with different color themes
    * hide map markers for elements not visible on timeline (i.e. show only roughly concurrent items)
    * more or less full access to the underlying map/timeline APIs
    * auto center/zoom the map on loaded items
    * load info window data using AJAX

    以前是有很多人做过这方面的尝试,比如著名的地震地图,但是该脚本的作用在于封装了一些基本的应用。nick在制作网站Ushahidi.com和http://www.nickrabinowitz.com/projects/timemap/artists.html的时候使用了该脚本。后者表现图例个人觉得是一种创新,我很少见到在地图窗口中显示图例的网络应用。基于js的灵活性,以后图例的开发将会更加容易。

    在回复的邮件中,看到了两个个更好的例子:

    1) 伊拉克新闻事件:http://thunderhead.esri.com/timeline/ 该应用使用timeline和基于flex的地图加以整合。最近,使用flex进行地图开发的例子越多,在flex下实现放大缩小地图确实非常之炫。有空大家可以多多讨论如何使用flex整合地图应用。

    iraq-news.jpg

    2)三藩市房产交易地图: http://hotpads.com/map/cities/CA/San_Francisco.htm 该地图将flex使用到了极至,所用控件都是用flex做的,而且图标也是用flex制成,动画效果很不错。个人觉得,如果要做关于房产交易的网上应用平台,该网站是个不错的借鉴。

    hotpad.jpg

    PS:

    1) flex的应用让网络互交效果更加出色。但是并不是所有的网页都是基于flex,比如伊拉克新闻事件,它仅仅是地图部分用flex整合,而timeline部分还是用javascript,这就牵扯到如何将javascript和actionscript进行配合使用的问题。其次在三藩市房地产交易的网站上,flex也是仅仅整合地图。

    2) why use flex to integrate maps?

    想想传统的地图显示方式,最初的地图服务器传回图片,到基于wms、wfs实现地图数据的交互,地图控件主要还是使用dhtml+javascript+css的形式,后来openlayers等客户端程序的出现,更多的使用了svg和vml。这样,网络地图变得更加生动活泼并具备更多的功能。毕竟更多的地物是基于对象的。但是无形之中加大了网络数据的载荷,但是随着技术的进步,这种载荷的增加显得微不足道。而flex的使用可以说技术和需求两个层面同时推动的。

    首先,adobe公司兼并了macromedia,adobe主要看中了flash这个网络利器,adobe以前还是很重视SVG的开发,已经推出了svg viewer 6.0 alpha。但是自有了flash,adobe宣布将停止svg viewer的开发,把精力更多的地放在了flash环境的开发之上,我们可以看到基于flash的video网站,flikr等图片网站,将flex使用到了炉火纯青的地步。而且flex完全有能力在网络地图使用中发挥己能。

    其次,更好的在网络地图环境中使用flex已经被推上了风头浪尖。Yahoo最早推出了只用在Yahoo map中的Flex控件。并且我们看到了网站出现了使用flash来显示VE,以及google earth的很多应用。很多坚守传统ajax模式的开发者虽然更喜欢使用javascripe的构架,比如ext,而且musicman曾经也看过一个日本友人开发的一个基于ext的web地图程序,确实够炫。但是ext在启动之前要加载太多的javascript脚本,经常会出现假死现象。不得不承认,flex在很多时候,还是很优秀的。基于eclipse的IDE开发环境,而且使用flex可以制作超炫的地图控件的难度要比javascript要低(当然是对于初学者来说,如果你有很高的javascript水平那则另当别论。)

    相关文章:

    关于

    生于古城長安,求學金陵,輾轉赴美深造,現漂泊於長安與北京。

    http://www.yenching.org

    1. 这也是我不打算在JavaScript的路上继续走下去的原因,我预测Flash/Flex的rich平台击败Ajax系列的日子不会非常远了。

      申请的事祝你好运了,呵呵

    2. 申请的事bless u阿。。。
      话说今年GIS申请的很多阿,形势顿时紧张。。。很多老师信里都说今年申请的人background都很impressive…这玩艺也要靠人品的…不知我以后能不能在nju挣到一个strong的background…
      ANY WAY, never give up, never give in

      再悄悄问一下徐MM去哪里啊

    3. 你好 请问 三藩市的那个flex 制作有参考例子吗 我现在想做一个地区划分 可不知道如何实现

      我这有个例子 可是我不知道如何获取coords=”50,20,83,40,90,48,96,45,101,47,115,43,134,43,138,46,133,57,134,84,72,84,71,71,76,56″的值
      非常希望得到你的指点和帮助