第二阶段实现后老师又给出了第三阶段的要求,这次是实现点击省份后就可以可以进入省份显示城市的信息,对于这一部分功能的实现,在网上搜索相关信息后发现其实对于每个省份也都有js与其对应,这就代表还要继续寻找资源,也就是每个省份的js文件。找到相关资源后导入即可,然后就是怎样怎样跳转了,echart有点击功能,也就是点击了某个位置后就会执行不同的操作,因此只要对点击事件进行修改,设计出点击后即可传递信息并跳转的方法,传递点击的省份名称的参数,然后在数据库读取相关信息在传递到前台实现省份的地图显示就行了。
点击跳转事件我是这样写的:
myChart.on('click', function (params) {
window.open("servlet?method=findprovince&tiaojian=2&name="+params.name);
});
在中国地图的div的数据的设置中加入这一句即可实现点击跳转,这一条是跳转到了servlet,然后servlet从数据库读取相关信息,在传递到一个界面,
servlet中这个方法代码如下:
public void findprovince(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException,SQLException{
request.setCharacterEncoding("utf-8");
String answer[]=new String[10];
for(int i=0;i<1;i++) {
answer[i]=new String();
}
answer[0]=request.getParameter("name");
String tiaojian=request.getParameter("tiaojian");
if(tiaojian.equals("1")) {
List<Bean> allinfo=dao.find1(answer);
List<Newinf> pnum=new ArrayList<Newinf>();
for(int i=0;i<allinfo.size();i++) {
if(allinfo.get(i).getProvince().equals("河北")||allinfo.get(i).getProvince().equals("江西")||allinfo.get(i).getProvince().equals("福建")||allinfo.get(i).getProvince().equals("江苏")||allinfo.get(i).getProvince().equals("湖北")||allinfo.get(i).getProvince().equals("辽宁")||allinfo.get(i).getProvince().equals("四川")||allinfo.get(i).getProvince().equals("山东")||allinfo.get(i).getProvince().equals("安徽")||allinfo.get(i).getProvince().equals("陕西")||allinfo.get(i).getProvince().equals("湖南")||allinfo.get(i).getProvince().equals("广东")||allinfo.get(i).getProvince().equals("浙江")||allinfo.get(i).getProvince().equals("河南")||allinfo.get(i).getProvince().equals("辽宁")||allinfo.get(i).getProvince().equals("吉林")||allinfo.get(i).getProvince().equals("黑龙江")||allinfo.get(i).getProvince().equals("甘肃")||allinfo.get(i).getProvince().equals("宁夏")||allinfo.get(i).getProvince().equals("广西")||allinfo.get(i).getProvince().equals("山西")) {
Newinf inf=new Newinf(allinfo.get(i).getName()+"市",Integer.parseInt(allinfo.get(i).getTconfirm()),Integer.parseInt(allinfo.get(i).getTsuspect()),Integer.parseInt(allinfo.get(i).getTheal()),Integer.parseInt(allinfo.get(i).getTdead()));
pnum.add(inf);
}
else if(allinfo.get(i).getProvince().equals("北京")||allinfo.get(i).getProvince().equals("天津")) {
Newinf inf=new Newinf(allinfo.get(i).getName()+"区",Integer.parseInt(allinfo.get(i).getTconfirm()),Integer.parseInt(allinfo.get(i).getTsuspect()),Integer.parseInt(allinfo.get(i).getTheal()),Integer.parseInt(allinfo.get(i).getTdead()));
pnum.add(inf);
}
else {
Newinf inf=new Newinf(allinfo.get(i).getName(),Integer.parseInt(allinfo.get(i).getTconfirm()),Integer.parseInt(allinfo.get(i).getTsuspect()),Integer.parseInt(allinfo.get(i).getTheal()),Integer.parseInt(allinfo.get(i).getTdead()));
pnum.add(inf);
}
}
request.setAttribute("list", pnum);
request.setAttribute("pname", answer[0]);
request.getRequestDispatcher("ceshiCSSMAP1.jsp").forward(request, response);
}
else {
List<Bean> allinfo=dao.find(answer);
List<Newinf> pnum=new ArrayList<Newinf>();
for(int i=0;i<allinfo.size();i++) {
if(allinfo.get(i).getProvince().equals("河北")||allinfo.get(i).getProvince().equals("江西")||allinfo.get(i).getProvince().equals("福建")||allinfo.get(i).getProvince().equals("江苏")||allinfo.get(i).getProvince().equals("湖北")||allinfo.get(i).getProvince().equals("辽宁")||allinfo.get(i).getProvince().equals("四川")||allinfo.get(i).getProvince().equals("山东")||allinfo.get(i).getProvince().equals("安徽")||allinfo.get(i).getProvince().equals("陕西")||allinfo.get(i).getProvince().equals("湖南")||allinfo.get(i).getProvince().equals("广东")||allinfo.get(i).getProvince().equals("浙江")||allinfo.get(i).getProvince().equals("河南")||allinfo.get(i).getProvince().equals("辽宁")||allinfo.get(i).getProvince().equals("吉林")||allinfo.get(i).getProvince().equals("黑龙江")||allinfo.get(i).getProvince().equals("甘肃")||allinfo.get(i).getProvince().equals("宁夏")||allinfo.get(i).getProvince().equals("广西")||allinfo.get(i).getProvince().equals("山西")) {
Newinf inf=new Newinf(allinfo.get(i).getName()+"市",Integer.parseInt(allinfo.get(i).getSconfirm()),Integer.parseInt(allinfo.get(i).getSsuspect()),Integer.parseInt(allinfo.get(i).getSheal()),Integer.parseInt(allinfo.get(i).getSdead()));
pnum.add(inf);
}
else if(allinfo.get(i).getProvince().equals("北京")||allinfo.get(i).getProvince().equals("天津")) {
Newinf inf=new Newinf(allinfo.get(i).getName()+"区",Integer.parseInt(allinfo.get(i).getSconfirm()),Integer.parseInt(allinfo.get(i).getSsuspect()),Integer.parseInt(allinfo.get(i).getSheal()),Integer.parseInt(allinfo.get(i).getSdead()));
pnum.add(inf);
}
else {
Newinf inf=new Newinf(allinfo.get(i).getName(),Integer.parseInt(allinfo.get(i).getSconfirm()),Integer.parseInt(allinfo.get(i).getSsuspect()),Integer.parseInt(allinfo.get(i).getSheal()),Integer.parseInt(allinfo.get(i).getSdead()));
pnum.add(inf);
}
}
request.setAttribute("list", pnum);
request.setAttribute("pname", answer[0]);
request.getRequestDispatcher("ceshiCSSMAP1.jsp").forward(request, response);
}
}
跳转到页面后页面读取数据即可,明天写页面的显示部分。