百度地图实现实时定位并将自己的位置传给后台
window.setInterval(function(){
var geolocation = new BMap.Geolocation(); //创建定位实例
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var mk = new BMap.Marker(r.point); //这个同样是创建经纬度实例,但是是geolocation 里面的自己定义的方法
map.addOverlay(mk); //将坐标图标添加到地图中
map.panTo(r.point); //将地图的中心点转移到 添加图标的点
//alert('您的位置:'+r.point.lng+','+r.point.lat);
$.post(
"position.php",
{
mylng:r.point.lng,
mylat:r.point.lat
},
function(data,status){
if(data==1){
console.log("接收成功")
}
else{
console.log("接收失败");
}
});
}
else {
alert('failed'+this.getStatus());
}
},{enableHighAccuracy: true})
},1000);
后台php:
<?php
header("content-type:text/html; charset=UTF-8");
$MyLng = $_POST['mylng'];
$MyLat = $_POST['mylat'];
date_default_timezone_set('PRC'); // 中国时区
//打印出一个文件
function write_to_log( $logthis ){
file_put_contents('logfile.log', date("Y-m-d H:i:s"). " " . $logthis. "\r\n", FILE_APPEND | LOCK_EX);
}
write_to_log('mylng:'.$MyLng);
write_to_log('mylat:'.$MyLat );
if ($MyLng && $MyLat) {
$bFlg = "1";
}
if($bFlg=="1"){
echo "1";
}else{
echo "0";
}