新手求助如何在js上使用ajax接收php读取的mysql数据并输出
小弟基本是纯web开发新手,被拉去实现一个地图项目的数据库连接我用php连接好了数据库代码如下$conn=mysql_connect($mysql_server_name...
小弟基本是纯web开发新手,被拉去实现一个地图项目的数据库连接
我用php连接好了数据库代码如下
$conn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password)
or die("Could not connect: ".mysql_error());
// 从表中提取信息的sql语句
$strsql="select * from point";
// 执行sql查询
$result=mysql_db_query($mysql_database, $strsql, $conn);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$row_json = json_encode($row);
exit($row_json);
我要读取的是mysql数据库point表中的lnglat(经纬度数据),然后发送到js中去,然后在js调用new BMap.Point()函数将我php读取到的数据库里的坐标按主键id顺序分别打在地图上。想请教一下如果用ajax的话,在js部分的代码该怎么写啊?不是很清楚php函数读取数据库后的数据形式以及转化为jason后的影响,求大神帮忙orz 有其他更方便的方法也请指导一下 展开
我用php连接好了数据库代码如下
$conn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password)
or die("Could not connect: ".mysql_error());
// 从表中提取信息的sql语句
$strsql="select * from point";
// 执行sql查询
$result=mysql_db_query($mysql_database, $strsql, $conn);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$row_json = json_encode($row);
exit($row_json);
我要读取的是mysql数据库point表中的lnglat(经纬度数据),然后发送到js中去,然后在js调用new BMap.Point()函数将我php读取到的数据库里的坐标按主键id顺序分别打在地图上。想请教一下如果用ajax的话,在js部分的代码该怎么写啊?不是很清楚php函数读取数据库后的数据形式以及转化为jason后的影响,求大神帮忙orz 有其他更方便的方法也请指导一下 展开
2个回答
展开全部
如果要描图的话 需要加载 相应的地图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=0;i<msg.length;i++){
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=0;i<data_arr.length;i++){
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:right;margin: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标注
}
}
得到效果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询