百度地图动态添加数据及条件查询
2015-08-30 09:49
381 查看
效果图:
function initMapData(){ var points = []; // 添加海量点数据 map.clearOverlays(); // map1.clearOverlays(); var year =document.getElementById("year").value; var provinceid =document.getElementById("sheng").value; var quota_1 =document.getElementById("quota_1").value; var quota_2 =document.getElementById("quota_2").value; var quota_3 =document.getElementById("quota_3").value; var quota_4 =document.getElementById("quota_4").value; var index = ""; if(quota_1 != ""){index = quota_1}; if(quota_2 != ""){index = quota_2}; if(quota_3 != ""){index = quota_3}; if(quota_4 != ""){index = quota_4}; $.ajax({url:"./EnterpriseAnalysisFetcher.do?action=envmap", type:"POST",dataType:"JSON",async:false, //传过去year,pronvinceid,index:指标 success到x,y的坐标 data:{"provinceid":provinceid,"year":year,"index":index}, success: function(datas){ $.each(datas,function(i,n){ if(n.lng!=null){ //遍历查询到的值,put到points里面 points.push(new BMap.Point(parseFloat(n.lng), parseFloat(n.lat))); } });
public CompanyPosition[] getCompanyEnvData(int year, int provinceid, String index,DBSession session) throws JException { List<CompanyPosition> list = new ArrayList<CompanyPosition>(); if (session == null) { session = Context.getDBSession(); } IResultSet rs = null; try { Object[] paramObjects = new Object[]{}; int[] paramTypes = new int[]{}; String sql = "select b.cp_lng,cp_lat from env_pollutiondata a,env_company b where a.pd_company_ID=b.ID and "+index+">0 "; if(year>0){ sql = sql + " and a.pd_year =?"; } if(provinceid>0){ sql = sql + " and a.pd_Province_ID =?"; } if(year>0&&provinceid>0){ paramObjects = new Object[]{year,provinceid}; paramTypes = new int[]{year,provinceid}; }else if(year>0){ paramObjects = new Object[]{year}; paramTypes = new int[]{year}; }else if(provinceid>0){ paramObjects = new Object[]{provinceid}; paramTypes = new int[]{provinceid}; } sql = sql+" GROUP BY a.pd_company_ID "; //sql = "SELECT * FROM env_pollutiondata WHERE ID = 1"; //rs = session.executeQuery(sql, new Object[]{paramObjects}, new int[]{Types.DECIMAL}); rs = session.executeQuery(sql, paramObjects, paramTypes); System.out.println(sql); while (rs.next()) { CompanyPosition position = new CompanyPosition(); position.setLat(rs.getFloat("cp_lat")); position.setLng(rs.getFloat("cp_lng")); float po = rs.getFloat("cp_lat"); float pl = rs.getFloat("cp_lng"); list.add(position); } } catch (Exception e) { Logger.getProjLogger().error(e.getMessage(), e); return null; } finally { ResourceMgr.closeQuietly(rs); ResourceMgr.closeQuietly(session); } return list.toArray(new CompanyPosition[0]);
var options = { size: BMAP_POINT_SIZE_BIGGER, shape: BMAP_POINT_SHAPE_WATERDROP, color: '#d340c3' } var pointCollection = new BMap.PointCollection(points, options); // 初始化PointCollection pointCollection.addEventListener('click', function (e) { var opts = { width : 250, // 信息窗口宽度 height: 100, // 信息窗口高度 title : "企业信息" , // 信息窗口标题 enableMessage:false//设置允许信息窗发送短息 }; var point = new BMap.Point(e.point.lng, e.point.lat); $.ajax({ type: "POST", url: "../env/data/EnvDataSubmit.do?action=getCompanyDataByPosition&position="+e.point.lng+e.point.lat, dataType:"json", async: true, success: function(msg){ var content=[]; if(msg){ content.push(msg[0].company); content.push("<br />"); $.each(msg,function(i,n){ content.push(" <a target=\"_blank\" href=\"EnvDataListView.do?id="+n.id+"\" >"+n.year+"</a> "); }); var infoWindow = new BMap.InfoWindow(content.join(""),opts); // 创建信息窗口对象 map.openInfoWindow(infoWindow,point); //开启信息窗口 map1.openInfoWindow(infoWindow,point); //开启信息窗口 } } }); }); map.addOverlay(pointCollection); // 添加Overlay // map1.addOverlay(pointCollection); // 添加Overlay points = []; }, error:function (XMLHttpRequest, textStatus, errorThrown) { alert("error"); alert(textStatus); } }); }
相关文章推荐
- nginx搭建与配置
- 【JQuery】jQuery自制简易手风琴效果(附实现原理)
- Screensaver<用线段树维护函数系数>
- gzip压缩算法 http://blog.csdn.net/hguisu/article/details/7795435
- iOS开发中frame与Bounds的区别,以及几何方法的小结
- POJ_3262 Protecting the Flowers(greedy)
- UUID.randomUUID().toString 简单解释
- [转]解决GET请求时中文乱码的问题
- 第6周周报
- 简单谈谈javascript中的变量、作用域和内存问题
- 【翻译自mos文章】为DataGuard的 Redo Transport 启用加密
- Ubuntu 14.04下安装Hadoop2.4.0 (单机模式)
- C语言新建临时文件和临时文件名的方法
- yum工具使用举例
- 嵌入式工程师必知必会 —— 读书笔记1、需掌握的知识
- Rikka with Tree(DFS+树的性质)
- Google学术指数2015版
- Objective-C 【多个对象内存管理(野指针&内存泄漏)】
- Objective-C 【多个对象内存管理(野指针&内存泄漏)】
- Hacking Cypher(CF--490C