Maison  >  Article  >  développement back-end  >  Comment obtenir la localisation d'un téléphone portable en php

Comment obtenir la localisation d'un téléphone portable en php

(*-*)浩
(*-*)浩original
2019-09-27 13:59:545028parcourir

Exemple de php implémentant la fonction de positionnement de téléphone mobile

Comment obtenir la localisation d'un téléphone portable en php

Récemment, j'ai travaillé sur la localisation des utilisateurs de téléphones mobiles pour envoyer des messages, et après analyse, l'approche finale Comme suit

fichier mobile.php (apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)

Lorsque l'utilisateur accède à cette page sur un téléphone mobile Lorsque le formulaire de page est masqué et encapsulé, il est automatiquement soumis pour obtenir la longitude et la latitude du navigateur mobile et le publier sur le serveur

<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);

?>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn