您好,登錄后才能下訂單哦!
這篇文章主要介紹了HTML5怎么獲取當前地理位置并在百度地圖上展示,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1.HTML5獲取當前地理位置
HTML5 Geolocation API(地理位置應用程序接口)可以獲取當前地理位置,手機端使用GPS,電腦則根據網絡定位
檢查瀏覽器是否支持HTML5 Geolocation API
<script type="text/javascript"> if(navigator.geolocation){ alert('瀏覽器支持GeoLocation!'); }else{ alert('瀏覽器不支持GeoLocation!'); } </script>
提供了3個調用方法
// 獲取用戶當前位置 void getCurrentPosition(onSuccess, onError, options); // 持續獲取用戶當前位置,showLocation表示回調方法 int watchPosition(showLocation, onError, options); // 取消監控, watchId 為watchPosition返回值 void clearWatch(watchId);
onSuccess 成功后回調方法(必選)
onError 失敗回調方法(可選)
options 其他參數(可選)
options = { enableHighAccuracy, // boolean,是否要求高精度的地理信息 timeout, // 最大等待時間,默認0毫秒 maximumAge // 應用程序緩存時間 }
2.調用百度地圖展示
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>基于HTML5查找地理位置并調用百度API展示</title> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script> <script type="text/javascript"> // 調用HTML5 GeoLocation API獲取地理位置 function getLocation(){ document.getElementById('container').innerHTML = '正在搜尋中,請稍候。。。'; var options = { enableHighAccuracy:true, maximumAge:1000 } if(navigator.geolocation){ //瀏覽器支持geolocation navigator.geolocation.getCurrentPosition(onSuccess,onError,options); }else{ //瀏覽器不支持geolocation alert('瀏覽器不支持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, 16); // 設置標注的圖標,可自己定義圖標 var icon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), { offset: new BMap.Size(10, 25), // 定位圖標尺寸 imageOffset: new BMap.Size(0, 0 - 11 * 25) // 設置圖片偏移 }); // 設置標注的經緯度 var marker = new BMap.Marker(new BMap.Point(longitude,latitude),{icon:icon}); // 把標注添加到地圖上 map.addOverlay(marker); // 設置點擊事件 marker.addEventListener("click", function(){ alert("經度:" + longitude + ", 緯度:" + latitude); }); } // 獲取失敗 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" style="width:640px;height:640px"></div> </body> </html>
感謝你能夠認真閱讀完這篇文章,希望小編分享的“HTML5怎么獲取當前地理位置并在百度地圖上展示”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。