在Web開發中,經常需要獲取用戶的地理位置信息。HTML5提供了一種新的API:Geolocation,可以用來獲取用戶設備的地理位置。
Geolocation API基于W3C的標準,在HTML5標準發布后成為了瀏覽器支持的一部分。使用這個API,我們可以通過調用navigator.geolocation.getCurrentPosition()方法,獲取當前用戶設備的地理位置信息。
navigator.geolocation.getCurrentPosition(showPosition); function showPosition(position) { var latitude = position.coords.latitude; // 獲取緯度 var longitude = position.coords.longitude; // 獲取經度 var accuracy = position.coords.accuracy; // 獲取精度 var altitude = position.coords.altitude; // 獲取海拔高度 var altitudeAccuracy = position.coords.altitudeAccuracy; // 獲取海拔高度的精度 var heading = position.coords.heading; // 獲取方向 var speed = position.coords.speed; // 獲取速度 // 這里使用獲取到的位置信息來進行后續操作,比如發送位置信息到后臺等等。 }
通過獲取到用戶的位置信息,我們可以實現很多很有用的功能。比如可以根據用戶的地理位置,獲取當前城市的編碼。下面是一段示例代碼:
navigator.geolocation.getCurrentPosition(showCityCode); function showCityCode(position) { var latitude = position.coords.latitude; // 獲取緯度 var longitude = position.coords.longitude; // 獲取經度 var url = "http://api.map.baidu.com/geocoder/v2/?ak=您的AK&location=" + latitude + "," + longitude + "&output=json"; $.ajax({ type: 'GET', url: url, dataType: 'JSONP', success: function (data) { var code = data.result.cityCode; // 這里使用獲取到的城市編碼來進行后續操作,比如跳轉到城市頁面等等。 } }); }
以上代碼使用了百度地圖的API來獲取城市編碼。當然,你也可以使用其他地圖API來實現相同的功能。