這篇文章主要介紹了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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。