五 自定义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案例教程
arcgis server Java adf 案例教程
一本关于arcgis server java adf的案例教程
ArcGIS Server Java ADF 案例教程.pdf 最新版本,最全版本,最强版本
比较实用的ArcGIS Server for java学习资料
ArcGIS Server轻松入门.pdf ArcGIS_Server_Java_ADF_案例教程.pdf .NET构建和部署ArcGIS+Server+Web应用.pdf
ADF全称是Arcgis java Web Application Developer FrameWork,是为了开发web应用而生的一套开发框架,开发人员可以在ADF的基础上相对容易的开发出WEBGIS应用。
ArcGIS_Server_Java_ADF_案例教程
Myeclipse 创建 ArcGis for java web
arcgis server10 for java在myeclipse创建Web Adf实例(全程图解) 你懂的!
arcims9.2 adf java 开发简单实例图解 arcgis server adf简单实例--类似都基于adf开发
arcims9.2 adf java 开发简单实例图解3 arcgis server类似都基于ADF 自己写command 对起步或许有用
arcims9.2 adf java简单实例4 自己写tools 框选查询 arcgis server 自定义tools 与此类似 基于adf
task 缓冲区分析 arcgis server adf类似
arcims9.2 adf java 开发简单实例图解2 arcgis server类似都基于ADF 显示中文图层名 更改 截图中用的是gb2312会出现些问题 建议用UTF-8
task显示与中文标题设置 arcgis server类似