您的位置:首页 > 其它

百度地图动态添加数据及条件查询

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); } }); }


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: