2008年10月15日星期三

ArcGIS API for Flex入门 - 4.事件Event

前面讨论的主要是怎么样去操作Map,设定各种数据啊,通知它更新数据源啊等等。目前,你已经可以通过ArcGIS API for Flex渲染各种漂亮的地图了。下面,我们应当来想想怎么来做更多的事情了。

比如在你的Flex Application中,你希望在用户在点击Map的时候,获取到用户点击的坐标,然后到数据库去查找附近是不是有好吃的餐馆之类的。这个时候你应该想到我们应该要处理Map的事件了。

这里插播一句,ArcGIS API for Flex最重要的就是Map组件,你完全可以把Map组件等同于其他原生的Flex组件来使用。——所以,如果你很熟悉Flex,那么本小节下面的内容你可以跳过了。

好,我们打开Sample的“EventBasics.mxml”,在onApplicationCreationComplete()方法(它监听了Application的创建完成事件)中,其中添加了Map组件的鼠标click事件监听器:
myMap.addEventListener(MouseEvent.CLICK, logMouseEvent);
其中的logMouseEvent在下面进行了定义:
public function logMouseEvent(event:MouseEvent):void
{
log.text = "* MouseEvent: " + event.type + "\n" + log.text;
}

每当用户在Map上进行点击时,Map就会自动分发MouseEvent.CLICK事件,而监听Click事件的logMouseEvent()方法就会被执行。运行一个这个“EventBasics.mxml”,试着在地图上点击几下,有没有看到右面的文本变化?

当然,ArcGIS 的Map组件提供了许多的Event,涵盖地图操作、图层操作、查询操作、绘图操作等等,你可以在此基础上实现任何你想实现的功能。

上一节 下一节

1 条评论:

匿名 说...

是在是言简意赅, 好啊!