五 自定义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是点击居中前后的地图。
ArcGIS Server Java ADF 案例教程 18
最新推荐文章于 2024-05-09 14:25:52 发布
本文介绍如何自定义一个地图工具,使得每次点击地图时,地图能够以点击点为中心进行居中显示。通过实现MapToolAction接口并重写execute方法,可以轻松地在点击地图后使地图居中。
865

被折叠的 条评论
为什么被折叠?



