欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php怎么实现手机定位功能

程序员文章站 2022-06-03 16:09:14
...

php怎么实现手机定位功能

php怎么实现手机定位功能?

php实现手机定位功能的实例

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

mobile.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 定位