您的位置:首页 > 编程语言 > Java开发

ArcGIS Server Java ADF 案例教程 18

2009-04-28 13:41 543 查看
五 自定义Tool实现点击地图居中【案例】

在这一小节中,我们通过自定义一个Tool来激活这样的地图功能:每次点击地图,都以这个点击点为中心使地图居中。

如下,我们新建了这样一个类CenterAtToolAction:

import com.esri.adf.web.data.WebContext;

import com.esri.adf.web.data.geometry.WebPoint;

import com.esri.adf.web.faces.event.MapEvent;

import com.esri.adf.web.faces.event.MapToolAction;

public class CenterAtToolAction implements MapToolAction

{

public void execute(MapEvent event) throws Exception

{

WebContext webContext = event.getWebContext();

WebPoint webPoint = (WebPoint)event.getWebGeometry().toMapGeometry(webContext.getWebMap());

webContext.getWebMap().centerAt(webPoint, 0.5);

webContext.refresh();

}

}

这个类的关键是实现了MapToolAction的execute方法,当一个Tool被激活,并在地图上进行了操作以后,一个请求就会被发送到服务器,对应的MapToolAction的execute方法就会被执行。

这里,我们通过MapEvent的获得WebContext和WebGeometry 对象。比如我们在浏览器中点击了一下,那么WebGeometry就是一个点对象,当然,这个点坐标是基于屏幕坐标的,我们需要调用它的toMapGeometry方法转化成地理坐标。

当这些准备工作完成以后,我们就可以使用WebMap的centerAt方法使地图居中,随后刷新WebContext输出响应到浏览器。

如图 11是点击居中前后的地图。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: