js 只能处理静态对象,一般来说就是html,初学者会以为jsp标签也是标签,其实在浏览器加载页面时就没有jsp标签了,
js发送一个请求(ajax)到java(c#、c++等等),java取到数据库数据,返回给js
jQuery.ajax({url: '<%=basePath%>XXXXX.action', // 提交的页面
data: {msg_id:+id}, // 有要传递的数据就传递,没有就空着
type: "POST",//传递方式
success: function(data) {
//action返回结果,页面显示
}
})
如果要描图的话 需要加载 相应的地图api 库 怎样描点要根据 api的格式 比如 , 我用baidu 的api 需要的是数组格式
那么代码 是这样的
function getGps_msg(cur_date){var rt_array=new Array()
cur_phone_no=$("#user_list").val()
$.ajax({
type:"get",
url:"json_gps.php",
async:false,
dataType:"json",
data:{cur_date:cur_date,phone_no:cur_phone_no},
success: function(msg){
for (var i=0i<msg.lengthi++){
rt_array[String(i)]=msg[i]
}
}
})
return rt_array
}
得到你一个描点的数组了. 再去描点
function drawPion(data_arr){//var data_arr=getGps_msg()
//alert (data_arr)
bm.clearOverlays()
var cx=data_arr['0']['longitude']
var cy=data_arr['0']['latitude']
bm.centerAndZoom(new BMap.Point(cx,cy),18)
var dianshu=0
for (var i=0i<data_arr.lengthi++){
var msg=data_arr[i]['rec_time']
var lab_msg=""
var xx= data_arr[i]['longitude']
var yy= data_arr[i]['latitude']
//alert (i)
var markergps = new BMap.Marker(new BMap.Point(xx,yy))
//bm.addOverlay(markergps,i) //添加GPS标注
if (dianshu==9){
bm.addOverlay(markergps,i) //添加GPS标注
dianshu=0
}else{
dianshu++
}
if(i==0){
//var markergps = new BMap.Marker(new BMap.Point(xx,yy))
bm.addOverlay(markergps,i) //添加GPS标注
lab_msg="最后位置"
}
if(data_arr[i]['img_file_path']!==""){
//var markergps = new BMap.Marker(new BMap.Point(xx,yy))
bm.addOverlay(markergps,i) //添加GPS标注
lab_msg+="[图]"
var sContent ="<img style='float:rightmargin:4px' id='imgDemo"+i+"' src='"+data_arr[i]['img_file_path']+"' width='320' height='240' title='photo'/>"
addClickHandler(sContent,markergps)
}
if (i==data_arr.length-1){
//var markergps = new BMap.Marker(new BMap.Point(xx,yy))
bm.addOverlay(markergps,i) //添加GPS标注
lab_msg="开始位置"
}
var labelgps = new BMap.Label(i+lab_msg,{offset:new BMap.Size(20,-10)})
markergps.setLabel(labelgps,i) //添加GPS标注
}
}
得到效果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)