好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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('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如何获取手机位置的详细内容,更多请关注Gxl网其它相关文章!

查看更多关于php如何获取手机位置的详细内容...

  阅读:46次