Rumah > pembangunan bahagian belakang > masalah PHP > php如何获取手机位置

php如何获取手机位置

(*-*)浩
Lepaskan: 2023-02-25 09:48:01
asal
5071 orang telah melayarinya

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

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(&#39;Geolocation is not supported by this browser.&#39;);

    }

    function getPositionSuccess(position) {

        lat = position.coords.latitude;

        lng = position.coords.longitude;

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

fillForm(); 

//填充表单

document.form1.submit();

//post数据到服务器

    }

    function getPositionError(error) {

        switch (error.code) {

            case error.TIMEOUT:

            alert(&#39;The request to get user location timed out.&#39;);break;

            case error.PERMISSION_DENIED:

            alert(&#39;User denied the request for Geolocation.&#39;);break;

            case error.POSITION_UNAVAILABLE:

            alert(&#39;Location information is unavailable.&#39;);break;

            default:

            alert(&#39;An unknown error occurred.&#39;);

        }

    }

    function fillForm(){

        document.getElementById(&#39;lat&#39;).value = lat;

        document.getElementById(&#39;lng&#39;).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);

?>
Salin selepas log masuk

Atas ialah kandungan terperinci php如何获取手机位置. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan