標籤:browser decode doc col nav location rip 訪問 base
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進行解析定位
<?phpheader("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實現手機定位