首页 >后端开发 >PHP问题 > 正文

php如何获取手机位置

原创2019-10-15 15:56:1403030
php实现手机定位功能的实例

最近在做通过定位手机用户,进行消息推送,经过分析最终做法如下

mobile.php文件(推荐学习:PHP编程从入门到精通

当用户当手机访问该页面时,通过实现页面表单隐藏封装自动提交获取手机浏览器经纬度并post给服务器

<html>

<meta charset="utf8">

<head>

<form name="form1" action="http://test.nwee.cc/ken/baidulocated.php" method="post">

<input type="text" name="lat" id="lat" style="display:none">

<input type="text" name="lng" id="lng" style="display:none">

</form>

<script type="text/javascript">

    var position_option = {

        enableHighAccuracy: true,

        maximumAge: Infinity,

        timeout: 100000

    }; 

    var lat;

    var lng;

    if(navigator.geolocation){

        navigator.geolocation.getCurrentPosition(getPositionSuccess, getPositionError, position_option);

    }else{

        alert('Geolocation is not supported by this browser.');

    }

    function getPositionSuccess(position) {

        lat = position.coords.latitude;

        lng = position.coords.longitude;

        //alert('您所在的位置: 纬度' + lat + ',经度' + lng);

fillForm(); 

//填充表单

document.form1.submit();

//post数据到服务器

    }

    function getPositionError(error) {

        switch (error.code) {

            case error.TIMEOUT:

            alert('The request to get user location timed out.');break;

            case error.PERMISSION_DENIED:

            alert('User denied the request for Geolocation.');break;

            case error.POSITION_UNAVAILABLE:

            alert('Location information is unavailable.');break;

            default:

            alert('An unknown error occurred.');

        }

    }

    function fillForm(){

        document.getElementById('lat').value = lat;

        document.getElementById('lng').value = lng;

    }

</script>

</head>

</html>

located.php文件

通过百度定位api进行解析定位

<?php

header("Content-type:text/html; charset=utf8");

$url="http://api.map.baidu.com/geocoder/v2/?location=".$_POST["lat"].",".$_POST["lng"]."&ak=*****************************&coordtype=bd09ll&output=json";

$json = file_get_contents($url);

$arr = json_decode($json, true);

var_dump($arr);

?>

以上就是php如何获取手机位置的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:php
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息
    推荐视频教程
  • PHP架构师相关课程视频教程PHP架构师相关课程视频教程
  • ThinkPHP5基础讲解视频教程ThinkPHP5基础讲解视频教程
  • PHP框架系统学习视频教程PHP框架系统学习视频教程
  • 视频教程分类