Maison  >  Article  >  développement back-end  >  Exemple d'implémentation de la fonction de positionnement d'un téléphone mobile en php

Exemple d'implémentation de la fonction de positionnement d'un téléphone mobile en php

小云云
小云云original
2018-03-31 15:23:256730parcourir

Cet article partage principalement avec vous des exemples de php implémentant la fonction de positionnement du téléphone mobile. Il est principalement partagé avec vous sous forme de code. J'espère qu'il pourra aider tout le monde.

Récemment, j'ai travaillé sur la localisation des utilisateurs de téléphones mobiles et l'envoi de messages après analyse, la méthode finale est la suivante

mobile. fichier php

Lorsque l'utilisateur accède à la page sur un téléphone mobile, il soumet automatiquement le package caché du formulaire de page pour obtenir la latitude et la longitude du navigateur mobile et le publie 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);
?>

Recommandations associées :

Basées sur JavaScript Pour obtenir l'emplacement spécifique actuel (X province, X ville, X comté, numéro de rue

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