亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 突襲HTML5之Javascript API擴展2—地理信息服務及地理位置API學習

突襲HTML5之Javascript API擴展2—地理信息服務及地理位置API學習

熱門標簽:江蘇高頻外呼系統線路 標準智能外呼系統 平頂山電子地圖標注怎么修改 地圖標注自己去過的地方 洛陽市伊川縣地圖標注中心官網 電銷機器人視頻 搜狗星級酒店地圖標注 會聲會影怎樣做地圖標注效果 高德地圖標注錯誤怎么修改
現在比較火的一類服務叫做基于位置的服務(location-based service, LBS),這一類服務就是企業利用某點(例如用戶所在的位置)坐標附近的區域提供服務的信息,比如常見的地圖相關服務。在HTML5中,加入了新的地理位置API用來確定和分享地理位置。
隱私申明
在與遠程Web服務器共享物理位置時,隱私是一個需要關注的問題。因此,地理位置API會要求用戶先提供權限,然后Web應用程序才能訪問位置信息。首次訪問請求地理位置數據的網頁時,瀏覽器將顯示一個通知欄,提示提供對用戶位置的訪問權限。按照瀏覽器的提示,選擇相關的授權即可。
如果用戶未授予權限,則不會向 Web 應用程序提供位置信息。調用相關API不會觸發成功回調。
檢查瀏覽器的支持情況
地理位置API在主流的瀏覽器的最新版中都支持了,但是為了兼容老的瀏覽器,還是要檢查一下。如果地理位置 API 不可用,則 window.navigator.geolocation 將為 null,如下所示:

復制代碼
代碼如下:

function show_islocationenabled()
{
var str = "No, geolocation is not supported.";
if (window.navigator.geolocation) {
str = "Yes, geolocation is supported.";
}
alert( str );
}

Geolocation API基于navigator這一全局對象的一個新屬性:navigator.geolocation,該對象提供了一些關于訪問者的瀏覽器和系統的有用信息。Geolocation的信息可以通過許多手段獲得:比如基站、web的數據庫或是GPS等。使用不同的方式獲取到的Geolocation信息精度也是不一樣的,通常情況下,通過GPS獲得的最為準確(移動平臺上使用GPS最多,PC平臺上基本都是靠網絡數據)。偶然情況下,在一些位置上,你有可能不能獲得明確的地理位置讀數或是一點數據都接收不到。
定位當前位置
  使用navigator.geolocation的getCurrentPosition()方法獲取用戶的當前位置,這個方法只獲取一次位置的信息。當該方法被腳本調用時,方法以異步的方式來嘗試獲取宿主設備的當前位置。

復制代碼
代碼如下:

方法簽名:getCurrentPosition(geolocationSuccessCallback,[geolocationErrorCallback,geolocationOptions]);
  1. geolocationSuccessCallback:獲取當前位置成功后的回調(必需的)
  2. geolocationErrorCallback. 有錯誤發生時使用的回調(可選的)
  3. geolocationOptions. 地理位置選項(可選的)

處理位置信息
getCurrentPositon()方法獲得當前位置成功后會將位置信息保存到一個Position對象中,然后把這個對象作為參數來執行geolocationSuccessCallback這一回調。在這個回調函數中,你可以任意處置這個對象中包含的信息。
Position對象有兩個屬性:timestamp和coords。timestamp屬性表示地理位置數據的創建時間,coords屬性表示地理位置信息,又包含七個屬性:

復制代碼
代碼如下:

. coords.latitude:估計緯度
. coords.longitude:估計經度
. coords.altitude:估計高度
. coords.accuracy:所提供的以米為單位的經度和緯度估計的精確度
. coords.altitudeAccuracy:所提供的以米為單位的高度估計的精確度
. coords.heading: 宿主設備當前移動的角度方向,相對于正北方向順時針計算
. coords.speed:以米每秒為單位的設備的當前對地速度

一般的,這些屬性中有三項是保證有的:coords.latitude、coords.longitude和coords.accuracy,其余的返回null;這取決于設備的能力和其所采用的后端定位服務器。而且,heading和speed屬性可以基于用戶之前的位置計算出來。
處理錯誤
執行getCurrentPositon()方法時如果有錯誤發生的話,則該方法傳遞一個PositionError對象給geolocationErrorCallback回調。
設置地理位置選項
你可以設置geolocationOptions的三個屬性:

復制代碼
代碼如下:

enableHighAccuracy:如果設備支持高精度的話,這個選項表示是否啟用高精度。
timeout:查詢超時時間
maximumAge: 緩存的位置最大的時間數,在這一時間段內緩存可被使用。

看下面完整的例子:

復制代碼
代碼如下:

<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to get your position:</p>
<button onclick="getLocation()">Try It</button>
<div id="mapholder"></div>
<script>
var x=document.getElementById("demo");
function getLocation() {
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition,showError);
}
else{
x.innerHTML="Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
var latlon=position.coords.latitude+","+position.coords.longitude;
var img_url="http://maps.googleapis.com/maps/api/staticmap?center=" +
latlon + "&zoom=9&size=400x300&sensor=false";
document.getElementById("mapholder").innerHTML="<img src='"+img_url+"' />";
}
function showError(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
x.innerHTML="User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML="Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML="The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML="An unknown error occurred."
break;
}
}
</script>
</body>
</html>

這個例子獲取到當前設備所在的地理位置并顯示到Google地圖中。當然你可以使用百度地圖API中的靜態圖版來改造這個例子。百度地圖API參看后面的實用參考中的鏈接。
開啟/取消持續定位
使用navigator.geolocation的watchPosition()方法可以定期輪詢用戶的位置,查看用戶的位置是否發生改變。這個方法有三個參數:這三個參數和getCurrentPosition()方法一樣,一個成功后的回調,一個失敗后的回調,和一個獲取位置信息的選項;這個方法有一個返回值watchID,用于取消持續定位。
使用navigator.geolocation的clearWatch()方法可以終止正在進行的watchPosition(),該方法只帶一個參數watchID。
看下面的例子:

復制代碼
代碼如下:

<!DOCTYPE html>
<html>
<head>
<title>Geolocation API Example: Listening for Location Updates</title>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<script type="text/javascript">
function setText(val, e) {
document.getElementById(e).value = val;
}
var nav = null;
var watchID;
function listenForPositionUpdates() {
if (nav == null) {
nav = window.navigator;
}
if (nav != null) {
var geoloc = nav.geolocation;
if (geoloc != null) {
watchID = geoloc.watchPosition(successCallback);
}
else {
alert("geolocation not supported");
}
}
else {
alert("Navigator not found");
}
}
function clearWatch(watchID) {
window.navigator.geolocation.clearWatch(watchID);
}
function successCallback(position)
{
setText(position.coords.latitude, "latitude");
setText(position.coords.longitude, "longitude");
}
</script>
</head>
<body>
<label for="latitude">Latitude: </label><input id="latitude" />

<label for="longitude">Longitude: </label><input id="longitude" />

<input type="button" value="Watch Latitude and Longitude" onclick="listenForPositionUpdates()" />
<input type="button" value="Clear watch" onclick="clearWatch()" />
</body>
</html>

實用參考:
官方文檔:http://www.w3schools.com/html5/html5_geolocation.asp
腳本之家:https://www.jb51.net/w3school/html5/
微軟幫助:http://msdn.microsoft.com/zh-cn/library/gg589502(v=vs.85)
百度地圖API:http://dev.baidu.com/wiki/static/index.htm

標簽:松原 鄂爾多斯 廣東 阿克蘇 果洛 蚌埠 廣西 常德

巨人網絡通訊聲明:本文標題《突襲HTML5之Javascript API擴展2—地理信息服務及地理位置API學習》,本文關鍵詞  突襲,HTML5,之,Javascript,API,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《突襲HTML5之Javascript API擴展2—地理信息服務及地理位置API學習》相關的同類信息!
  • 本頁收集關于突襲HTML5之Javascript API擴展2—地理信息服務及地理位置API學習的相關信息資訊供網民參考!
  • 推薦文章
    黄色免费网站在线| 国产精品1024在线永久免费| 日本伦理黄色大片在线观看网站| 精品国产一区二区三区久| 日本特黄一级| 韩国三级香港三级日本三级la | 日韩专区第一页| 久久成人综合网| 黄视频网站免费观看| 精品久久久久久中文字幕一区| a级毛片免费全部播放| 精品久久久久久中文字幕2017| 国产91丝袜高跟系列| 人人干人人插| 日韩在线观看免费完整版视频| 麻豆系列 在线视频| 日本特黄特色aaa大片免费| 韩国三级香港三级日本三级| 青草国产在线观看| 国产综合成人观看在线| 日本在线不卡免费视频一区| 亚洲 欧美 成人日韩| 精品视频一区二区| 毛片高清| 国产综合91天堂亚洲国产| 黄色短视频网站| 日韩在线观看网站| 国产亚洲精品成人a在线| 欧美电影免费看大全| 一级毛片视频免费| a级毛片免费观看网站| 国产麻豆精品hdvideoss| 一级女性全黄久久生活片| 一级女性大黄生活片免费| 日日夜夜婷婷| 99久久网站| 亚洲 激情| 欧美另类videosbestsex久久| 国产精品自拍在线| 欧美激情影院| 精品在线视频播放| 99久久精品国产国产毛片| 国产91素人搭讪系列天堂| 免费一级片在线观看| 午夜激情视频在线观看| 日本伦理片网站| 亚洲 男人 天堂| 成人高清免费| 精品国产亚洲人成在线| 日日夜夜婷婷| 亚洲精品中文一区不卡| 国产一区二区精品尤物| 久久久成人影院| 久久精品店| 午夜家庭影院| 成人免费观看视频| 欧美电影免费| 午夜在线亚洲| 久久福利影视| 久草免费在线视频| 91麻豆国产福利精品| 黄色免费网站在线| 黄视频网站免费看| 日日日夜夜操| 国产视频一区二区在线播放| 日韩欧美一二三区| 毛片高清| 高清一级做a爱过程不卡视频| 午夜家庭影院| 国产精品自拍一区| 999精品视频在线| 天堂网中文字幕| 999精品在线| 天天色色色| 精品久久久久久中文字幕2017| 青青久久网| 美女免费毛片| 午夜激情视频在线观看| 国产精品免费久久| 九九九国产| 日韩综合| 国产成人啪精品| 天堂网中文在线| 九九热国产视频| 一级毛片视频免费| 韩国毛片免费| 国产一级生活片| 国产不卡精品一区二区三区| 美女免费毛片| 亚洲 男人 天堂| 国产成人欧美一区二区三区的| 国产精品免费精品自在线观看| 99热视热频这里只有精品| 高清一级淫片a级中文字幕| 四虎影视久久| 青青久在线视频| 国产不卡精品一区二区三区| 精品视频免费观看| 色综合久久手机在线| 99久久视频| 中文字幕97| 国产91丝袜高跟系列| 青草国产在线观看| 国产精品1024永久免费视频| 毛片电影网| 韩国三级一区| 99热精品在线| 精品视频在线看| a级毛片免费全部播放| 国产欧美精品| 一级女性全黄久久生活片| | 麻豆网站在线看| 日韩综合| 国产精品1024永久免费视频| 欧美日本免费| 日韩男人天堂| 韩国三级视频网站| 国产精品自拍在线| 精品视频免费在线| 麻豆污视频| 韩国三级视频网站| 午夜久久网| 日本免费看视频| 国产成人精品综合| 欧美大片毛片aaa免费看| 精品视频免费观看| 国产成人精品综合在线| 久久精品道一区二区三区| 美女免费毛片| 成人免费观看视频| 欧美国产日韩精品| 国产视频一区二区在线观看| 久久国产影院| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产麻豆精品| 成人免费一级纶理片| 精品国产亚一区二区三区| 精品视频在线看| 欧美日本二区| a级毛片免费观看网站| 免费一级生活片| 日韩av东京社区男人的天堂| 国产一区精品| 国产网站免费| 欧美日本免费| 欧美18性精品| 日韩综合| 精品久久久久久中文| 国产成+人+综合+亚洲不卡| 成人免费福利片在线观看| 国产一区二区精品久久| 日韩一级黄色| 久久久成人网| 国产一区二区精品久久91| 欧美一级视频高清片| 韩国三级一区| 999久久狠狠免费精品| 四虎久久影院| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 免费一级片在线观看| 青青青草视频在线观看| 国产精品免费精品自在线观看| 日韩中文字幕在线播放| 成人高清视频在线观看| 美女免费黄网站| 尤物视频网站在线观看| 99热精品一区| 欧美18性精品| 日本伦理网站| 99色视频在线| 亚久久伊人精品青青草原2020| 尤物视频网站在线观看| 国产亚洲免费观看| 国产一区二区精品在线观看| 欧美日本二区| 精品国产一区二区三区国产馆| 成人免费观看视频| 欧美日本免费| 国产视频一区二区在线观看| 免费国产在线视频| 精品国产香蕉伊思人在线又爽又黄| 黄视频网站免费看| 欧美a免费| 精品视频在线观看免费| 午夜欧美成人香蕉剧场| 精品久久久久久中文| 欧美爱色| 国产不卡精品一区二区三区| 日韩在线观看视频免费| 香蕉视频一级| 久久久久久久免费视频| 精品视频在线观看视频免费视频| 可以免费看污视频的网站| 欧美大片一区| 午夜家庭影院| a级精品九九九大片免费看| 亚洲 欧美 成人日韩| 国产伦理精品| 国产成+人+综合+亚洲不卡|