利用HTML5中Geolocation獲取地理位置調(diào)用Google Map API在Google Map上定位_HTML5教程
推薦:HTML5之SVG 2D入門10—濾鏡的定義及使用濾鏡稱得上是SVG最強大的功能了,它允許你給圖形(圖形元素和容器元素)添加各種專業(yè)軟件中才有的濾鏡特效,喜歡特效的朋友可千萬不要錯過啊。希望本對你有所幫助
本小菜剛開始學習HTML5,現(xiàn)在對其中的Geolocation頗感興趣,結(jié)合Google Map的API實現(xiàn)基本的地圖定位功能。1.獲取當前地理位置
調(diào)用方法 void getCurrentPosition(onSuccess, onError, options);即可。
其中onSuccess是獲取當前位置信息成功時執(zhí)行的回調(diào)函數(shù),onError是獲取當前位置信息失敗時所執(zhí)行的回調(diào)函數(shù),options是一些可選熟悉列表。其中第二和第三個參數(shù)為可選屬性。
在onSuccess回調(diào)函數(shù)中,用到了參數(shù)position,代表一個具體的position對象,表示當前位置。其具有如下屬性:
•latitude:當前地理位置的緯度。
•longitude:當前地理位置的經(jīng)度。
•altitude:當前位置的海拔高度(不能獲取時為null)。
•accuracy:獲取到的緯度和經(jīng)度的精度(以米為單位)。
•altitudeAccurancy:獲取到的海拔高度的經(jīng)度(以米為單位)。
•heading:設備的前進方向。用面朝正被方向的順時針旋轉(zhuǎn)角度來表示(不能獲取時為null)。
•speed:設備的前進速度(以米/秒為單位,不能獲取時為null)。
•timestamp:獲取地理位置信息時的時間。
在onError回調(diào)函數(shù)中,用到了error參數(shù)。其具有如下屬性:
•code:錯誤代碼,有如下值。
1.用戶拒絕了位置服務(屬性值為1);
2.獲取不到位置信息(屬性值為2);
3.獲取信息超時錯誤(屬性值為3)。
•message:字符串,包含了具體的錯誤信息。
在options參數(shù)中,可選屬性如下:
•enableHighAccuracy:是否要求高精度的地理位置信息。
•timeout:設置超時時間(單位為毫秒)。
•maximumAge:對地理位置信息進行緩存的有效時間(單位為毫秒)。
其中注意要寫上如下代碼,判斷瀏覽器是否支持HTML5獲取地理位置信息,以兼容較早不支持的瀏覽器。
復制代碼 代碼如下:m.dounai2.com
if (navigator.geolocation) {
//獲取當前地理位置信息
navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
} else {
alert("你的瀏覽器不支持HTML5來獲取地理位置信息。");
}
2.調(diào)用Google Map API獲取當前位置信息
首先,需要在頁面中引用Google Map API的腳本文件,導入方法如下所示。
復制代碼 代碼如下:m.dounai2.com
其次,設定地圖參數(shù),設定方法如下所示。
復制代碼 代碼如下:m.dounai2.com
//指定一個google地圖上的坐標點,同時指定該坐標點的橫坐標和縱坐標
var latlng = new google.maps.LatLng(coords.latitude, coords.longitude);
var myOptions = {
zoom: 14, //設定放大倍數(shù)
center: latlng, //將地圖中心點設定為指定的坐標點
mapTypeId: google.maps.MapTypeId.ROADMAP //指定地圖類型
};
最后,創(chuàng)建地圖,并在頁面中顯示,創(chuàng)建方法如下所示
復制代碼 代碼如下:m.dounai2.com
//創(chuàng)建地圖,并在頁面map中顯示
var map = new google.maps.Map(document.getElementById("map"), myOptions);
最后的最后,獻上本次示例所有代碼。代碼如下所示。
復制代碼 代碼如下:m.dounai2.com
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>獲取當前位置并顯示在google地圖上</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function init() {
if (navigator.geolocation) {
//獲取當前地理位置
navigator.geolocation.getCurrentPosition(function (position) {
var coords = position.coords;
//console.log(position);
//指定一個google地圖上的坐標點,同時指定該坐標點的橫坐標和縱坐標
var latlng = new google.maps.LatLng(coords.latitude, coords.longitude);
var myOptions = {
zoom: 14, //設定放大倍數(shù)
center: latlng, //將地圖中心點設定為指定的坐標點
mapTypeId: google.maps.MapTypeId.ROADMAP //指定地圖類型
};
//創(chuàng)建地圖,并在頁面map中顯示
var map = new google.maps.Map(document.getElementById("map"), myOptions);
//在地圖上創(chuàng)建標記
var marker = new google.maps.Marker({
position: latlng, //將前面設定的坐標標注出來
map: map //將該標注設置在剛才創(chuàng)建的map中
});
//標注提示窗口
var infoWindow = new google.maps.InfoWindow({
content: "當前位置:<br/>經(jīng)度:" + latlng.lat() + "<br/>維度:" + latlng.lng() //提示窗體內(nèi)的提示信息
});
//打開提示窗口
infoWindow.open(map, marker);
},
function (error) {
//處理錯誤
switch (error.code) {
case 1:
alert("位置服務被拒絕。");
break;
case 2:
alert("暫時獲取不到位置信息。");
break;
case 3:
alert("獲取信息超時。");
break;
default:
alert("未知錯誤。");
break;
}
});
} else {
alert("你的瀏覽器不支持HTML5來獲取地理位置信息。");
}
}
</script>
</head>
<body onload="init()">
<div id="map" style="width: 800px; height: 600px"></div>
</body>
</html>
分享:利用html5 canvas破解簡單驗證碼及getImageData接口應用:HTML 5中的canvas有個接口getImageData可以用來從驗證碼圖像中取得像素數(shù)據(jù)。每一個像素有對應r,g,b,a四個值,r,g,b是紅綠藍三色,a是透明度;觀察了一下,接下來說下思路及實現(xiàn)代碼,感興趣的你可不喲啊走開啊
相關HTML5教程:
- 只要五步 就可以用HTML5/CSS3快速制作便簽貼特效(圖)
- 網(wǎng)易微博Web App用HTML5開發(fā)的過程介紹
- HTML5 對各個標簽的定義與規(guī)定:body的介紹
- 關于HTML5的安全問題開發(fā)人員需要牢記的
- 關于HTML5的22個初級技巧(圖文教程)
- 開發(fā)人員所需要知道的HTML5性能分析面面觀
- HTML5 Web Database 數(shù)據(jù)庫的SQL語句的使用方法
- HTML5實踐-圖片設置成灰度圖
- HTML5安全介紹之內(nèi)容安全策略(CSP)簡介
- HTML5 Web存儲方式的localStorage和sessionStorage進行數(shù)據(jù)本地存儲案例應用
- Bootstrap 學習分享
- input元素的url類型和email類型簡介
HTML5教程Rss訂閱Div+Css教程搜索
HTML5教程推薦
- html5 Canvas畫圖教程(11)—使用lineTo/arc/bezierCurveTo畫橢圓形
- html5構(gòu)建觸屏網(wǎng)站之網(wǎng)站尺寸探討
- html5播放視頻且動態(tài)截圖實現(xiàn)步驟與代碼(支持safari其他未測試)
- HTML5之WebGL 3D概述(下)—借助類庫開發(fā)及框架介紹
- HTML5教程之html 5 本地數(shù)據(jù)庫(Web Sql Database)
- HTML5上傳文件顯示進度的實現(xiàn)代碼
- html5 svg 中元素點擊事件添加方法
- 基于Modernizr 讓網(wǎng)站進行優(yōu)雅降級的分析
- html5 瀏覽器支持 如何讓所有的瀏覽器都支持HTML5標簽樣式
- html5新增的屬性和廢除的屬性簡要概述
- 相關鏈接:
復制本頁鏈接| 搜索利用HTML5中Geolocation獲取地理位置調(diào)用Google Map API在Google Map上定位
- 教程說明:
HTML5教程-利用HTML5中Geolocation獲取地理位置調(diào)用Google Map API在Google Map上定位。