DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML5詳解 >> 簡單html5代碼獲取地理位置
簡單html5代碼獲取地理位置
編輯:HTML5詳解     
復制代碼代碼如下:
/** 
* 以下為Html5代碼,獲取地理位置 
*/ 
function getLocation() { 
//檢查浏覽器是否支持地理位置獲取 
if (navigator.geolocation) { 
//若支持地理位置獲取,成功調用showPosition(),失敗調用showError 
// alert("正在努力獲取位置..."); 
var config = { enableHighAccuracy: true, timeout: 5000, maximumAge: 30000 }; 
navigator.geolocation.getCurrentPosition(showPosition, showError, config); 
} else { 
//alert("Geolocation is not supported by this browser."); 
alert("定位失敗,用戶已禁用位置獲取權限"); 


/** 
* 獲取地址位置成功 
*/ 
function showPosition(position) { 
//獲得經度緯度 
var x = position.coords.latitude; 
var y = position.coords.longitude; 
//配置Baidu Geocoding API 
var url = "http://api.map.baidu.com/geocoder/v2/?ak=C93b5178d7a8ebdb830b9b557abce78b" + 
"&callback=renderReverse" + 
"&location=" + x + "," + y + 
"&output=JSon" + 
"&pois=0"; 
$.AJax({ 
type: "GET", 
dataType: "JSonp", 
url: url, 
success: function (JSon) { 
if (json == null || typeof (JSon) == "undefined") { 
return; 

if (JSon.status != "0") { 
return; 

setAddress(JSon.result.addressComponent); 
}, 
error: function (XMLHttpRequest, textStatus, errorThrown) { 
alert("[x:" + x + ",y:" + y + "]地址位置獲取失敗,請手動選擇地址"); 

}); 

/** 
* 獲取地址位置失敗[暫不處理] 
*/ 
function showError(error) { 
switch (error.code) { 
case error.PERMISSION_DENIED: 
alert("定位失敗,用戶拒絕請求地理定位"); 
//x.innerHtml = "User denIEd the request for Geolocation.[用戶拒絕請求地理定位]" 
break; 
case error.POSITION_UNAVAILABLE: 
alert("定位失敗,位置信息是不可用"); 
//x.innerHtml = "Location information is unavailable.[位置信息是不可用]" 
break; 
case error.TIMEOUT: 
alert("定位失敗,請求獲取用戶位置超時"); 
//x.innerHtml = "The request to get user location timed out.[請求獲取用戶位置超時]" 
break; 
case error.UNKNOWN_ERROR: 
alert("定位失敗,定位系統失效"); 
//x.innerHtml = "An unknown error occurred.[未知錯誤]" 
break; 


/** 
* 設置地址 
*/ 
function setAddress(JSon) { 
var position = document.getElementById("txtPosition"); 
//省 
var province = JSon.province; 
//市 
var city = JSon.city; 
//區 
var district = JSon.district; 
province = province.replace('市', ''); 
position.value = province + "," + city + "," + district; 
position.style.color = 'black'; 
}
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved