HTML5 Geolocation API (地理位置應用程序接口)
目前PC瀏覽器支持情況:Firefox 3.5+
Chrome 5.0+
Safari 5.0+
Opera 10.60+
Internet Explorer 9.0+
手機支持情況:Android 2.0+
iPhone 3.0+
Opera Mobile 10.1+
Symbian (S60 3rd & 5th generation)
Blackberry OS 6
Maemo
檢測瀏覽器是否支持: if (navigator.geolocation) {
//console.log("瀏覽器支持!");
}
else {
// console.log("瀏覽器不支持!");
}
navigator.geolocation用于獲取基于瀏覽器的當前用戶地理位置,提供了3個方法:void getCurrentPosition(onSuccess,onError,options);//獲取用戶當前位置
int watchCurrentPosition(onSuccess,onError,options);//持續獲取當前用戶位置
void clearWatch(watchId);//watchId 為watchCurrentPosition返回的值 //取消監控
復制代碼
onSuccess方法成功時調用的(必選),onError方法失敗是調用的(可選),options其他參數(可選)
options:
options = {
enableHighAccuracy, //boolean 是否要求高精度的地理信息
timeout, //表示等待響應的大時間,默認是0毫秒,表示無窮時間
maximumAge /應用程序的緩存時間
}
onsuccess方法中會返回position對象,通過這個對象可以獲取地理位置的相關信息
復制代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>基于瀏覽器的HTML5查找地理位置</title>
<!-- 百度API -->
<script src="http://api.map.baidu.com/api?v=1.2" type="text/javascript"></script>
<script>
function getLocation(){
var options={
enableHighAccuracy:true,
maximumAge:1000
}
if(navigator.geolocation){
//瀏覽器支持geolocation
navigator.geolocation.getCurrentPosition(onSuccess,onError,options);
}else{
//瀏覽器不支持geolocation
}
}
//成功時
function onSuccess(position){
//返回用戶位置
//經度
var longitude =position.coords.longitude;
//緯度
var latitude = position.coords.latitude;
//使用百度地圖API
//創建地圖實例
var map =new BMap.Map("container");
//創建一個坐標
var point =new BMap.Point(longitude,latitude);
//地圖初始化,設置中心點坐標和地圖級別
map.centerAndZoom(point,15);
}
//失敗時
function onError(error){
switch(error.code){
case 1:
alert("位置服務被拒絕");
break;
case 2:
alert("暫時獲取不到位置信息");
break;
case 3:
alert("獲取信息超時");
break;
case 4:
alert("未知錯誤");
break;
}
}
window.onload=getLocation;
</script>
</head>
<body>
<div id="container" ></div>
</body>
</html>
復制代碼
獲取當前位置加上偏移量會準一點 經度+經度校正值: 0.008774687519;
緯度+緯度校正值: 0.00374531687912;
本文題目:html5怎么實現調用gps獲取地理位置具體代碼
文章地址:http://m.newbst.com/news39/169289.html
成都網站建設公司_創新互聯,為您提供企業建站、做網站、虛擬主機、關鍵詞優化、面包屑導航、搜索引擎優化
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯