[java]
同步加载方式:
[java]
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
ICheckAttenceService checkAttenceService=new CheckAttenceService();
String beginDate="2012-12-12 00:00:00";
String endDate="2012-12-12 23:59:59";
JSONArray jsonArray = new JSONArray();
List checkBeanList=checkAttenceService.queryCheckEmps(beginDate, endDate);
for(CheckAttenceBean chBean:checkBeanList){
JSONObject jObect = new JSONObject();
jObect.put("empLng", chBean.getCheckAttLng());// 经纬度
jObect.put("empLat", chBean.getCheckAttLat());// 经纬度
jsonArray.put(jObect);
}
%>
调度查堪人员var empCount=0;//在勤的理赔人员总数
var tempPoints=new Array();//存放理赔人员的信息
var empPoints=new Array();//存放理赔人员的信息
tempPoints=eval('');
//alert(tempPoints);
for(var i=0,m=tempPoints.length;i
var obj=tempPoints[i];
empPoints[i]=obj.empLng+","+obj.empLat;
//alert(obj.empLng+"---"+obj.empLat);
}
//alert(empPoints.length);
var map=new BMap.Map("createCaseMap");
var point=new BMap.Point(106.540983, 29.560692);//初始化点坐标
map.centerAndZoom(point, 15); //初始化地图,设置中心点坐标和地图级别
var points =[];//存放标注查堪人员的对象
//alert("start:"+empPoints.length);
for(var i=0,k=empPoints.length;i
var onePoint=empPoints[i];
if(onePoint.indexOf(",")>-1){
var lng=onePoint.split(",")[0];
var lat=onePoint.split(",")[1];
points[i]=new BMap.Point(lng, lat);//动态的把所有的在勤理赔人员经纬度设置在points中
}
}
//自定义覆盖物
var myIcon =new BMap.Icon("/images/map/redflag.png", new BMap.Size(100, 70),{//小车图片
offset: new BMap.Size(0, -5), //相当于CSS精灵
imageOffset: new BMap.Size(0, 0) //图片的偏移量。为了使图片底部中心对准坐标点。
});
//alert("addOverlay:"+points.length);
for(var j=0,m=points.length;j
//如果使用map.addOverlay添加大量数据时,会使浏览器变慢
map.addOverlay(new BMap.Marker(points[j],{icon:myIcon}));
}
map.setViewport(points); //调整地图的最佳视野为显示标注数组point
map.addEventListener('click',function(e){
alert(e.point.lng+","+e.point.lat);
});
异步加载方式:
[java]
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
调度查堪人员var empCount=0;//在勤的理赔人员总数
var empPoints=new Array();//存放理赔人员的信息
/**
*获取所有的在勤的理赔人员
*/
function getEmployeePostion(){
//alert("getEmployeePostion");
var empPointArray=new Array();
$.ajax({
type:'post',
url:'./checkatt_getCheckAttList.action',
dataType:'json',
success:function(data){
for(var i=0;i
var obj=data[i];
empPointArray[i]=obj.empLng+","+obj.empLat;
//alert(obj.empLng+"---"+obj.empLat);
}
},
error:function(data){
alert('error!');
}
});
return empPointArray;
}
function loadScript(){
empPoints=getEmployeePostion();//初始化所有的在勤人员
//alert("init emp:"+empPoints.length);
var scriptDom=document.createElement("script");
scriptDom.src="http://api.map.baidu.com/api?key=3e280f09aae77af4248eb99129b3badc&v=1.3&services=false&callback=initialize";
document.body.appendChild(scriptDom);
}
/**
*初始百度地图
*/
function initialize(){
var map=new BMap.Map("createCaseMap");
var point=new BMap.Point(106.540983, 29.560692);//初始化点坐标
map.centerAndZoom(point, 15); //初始化地图,设置中心点坐标和地图级别
empCount=empPoints.length;//设置所有 的理赔人员
var points =[];//存放标注查堪人员的对象
//alert(empCount);
for(var i=0,k=empPoints.length;i
var onePoint=empPoints[i];
//alert("for-->"+onePoint);
if(onePoint.indexOf(",")>-1){
var lng=onePoint.split(",")[0];
var lat=onePoint.split(",")[1];
points[i]=new BMap.Point(lng, lat);//动态的把所有的在勤理赔人员经纬度设置在points中
}
}
//自定义覆盖物
var myIcon =new BMap.Icon("/images/map/redflag.png", new BMap.Size(100, 70),{//小车图片
offset: new BMap.Size(0, -5), //相当于CSS精灵
imageOffset: new BMap.Size(0, 0) //图片的偏移量。为了使图片底部中心对准坐标点。
});
for(var m=0;m
//如果使用map.addOverlay添加大量数据时,会使浏览器变慢
map.addOverlay(new BMap.Marker(points[m],{icon:myIcon}));
}
map.setViewport(points); //调整地图的最佳视野为显示标注数组point
map.addEventListener('click',function(e){
//1、TODO 处理经纬度相同的人员在地图上的显示问题
//不能通过经纬度来查询出员工的个人信息、任务量
alert(e.point.lng+","+e.point.lat);
});
//alert("map初始化完成");
}
window.οnlοad=loadScript;
在上面采用异步加载方式时,在FF浏览器下加载N次地图上的标注点都没问题,但在IE6、7、8、Chrome下只有第一次加载标注点的坐标可以,第二次后就不能了,不知为什么,麻烦知道是怎么回事的兄弟给我说下,目前我在项目中采用同步加载方式.
http://www.dengb.com/Javabc/527545.htmlwww.dengb.comtruehttp://www.dengb.com/Javabc/527545.htmlTechArticle[java] 同步加载方式: [java] %@page import=com.util.json.JSONArray% %@page import=com.util.json.JSONObject% %@page import=com.bean.CheckAttenceBean% %@page import=java.util.Lis...