Task的执行主要在对应的功能类(比如上面的QueryTask类)中实现,上面已经详述了Task中的Parameter、Command、Tool分别对应的功能类中的元素,下面就让我们看看怎么去使用它们。
在上面定义的那个QueryTask中,我们设计点击“查询”按钮就能根据文本框中输入的关键词去查找相应的要素。下面是实现这样功能的一段代码:
public void query(TaskEvent event)
{
WebContext webContext = event.getWebContext();
WebQuery webQuery = (WebQuery) webContext.getAttribute("query");
TextCriteria textCriteria = new TextCriteria();
textCriteria.setMaxRecordCount(100);
textCriteria.setSearchText(this.keyWord);
List
webContext.getWebGraphics().clearGraphics();
for (int i = 0; i <>
{
QueryResult queryResult = listQueryResult.get(i);
queryResult.highlight();
}
webContext.refresh();
}
我们可以看到,从TaskEvent中可以直接获得我们的WebContext对象;从WebContext开始可以执行一系列的操作,其中用到了keyWord这个属性,keyWord对应的就是用户在Task面板的文本框中输入的文字;最后查询到结果在地图上通过Graphic高亮出来,通过WebContext的refresh方法输出到浏览器。
这里涉及到了Parameter和Command的使用;至于Tool,唯一的区别就是WebContext是从MapEvent中获得,因此这里就不详细写了。另外,这段代码中还涉及到如何进行查询、如何使用Graphic等,这些内容我们在后面会详细讲。
没有评论:
发表评论