成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HTML 5開發:地理位置定位指南

開發 前端
用相對簡單的JavaScript代碼,可以創建出能確定用戶地理位置詳細信息的Web應用,包括經緯度以及海拔等。一些Web應用甚至能通過監控用戶位置隨時間的移動來提供導航功能,其中還綜合了GoogleMaps API這樣的地圖系統。

地理定位是HTML5提供的最令人激動的特性之一。

用相對簡單的JavaScript代碼,可以創建出能確定用戶地理位置詳細信息的Web應用,包括經緯度以及海拔等。一些Web應用甚至能通過監控用戶位置隨時間的移動來提供導航功能,其中還綜合了GoogleMaps API這樣的地圖系統。

和所有HTML5的功能一樣,你還不能依賴瀏覽器提供支持。而在瀏覽器提供支持的地方,它在深度和持續性上會有變化。本質上,你需要為那些瀏覽器不能為HTML5提供完全支持的用戶提供替代功能。

在這篇教程里,我們會了解一些創建用戶位置信息的基本知識。實際操作中,瀏覽器可能從多處獲取數據。例如,可能是移動設備的GPS數據或是任意聯網設備上的IP地址數據。不過,你的代碼不需要考慮這些細節,你只需檢索和使用位置數據。

HTML5 Web 頁面

使用下列代碼創建HTML5頁面的框架:

  1. <!DOCTYPEhtml> 
  2. <html> 
  3. <head> 
  4. <script> 
  5. /*Locationfunctionshere*/  
  6. </script> 
  7. </head> 
  8. <body> 
  9. </body> 
  10. </html> 

我們將JavaScript地理定位函數放到頁面標頭腳本的位置,還會放置一些用于測試和演示主題區功能的基本HTML要素。

HTML演示要素

向HTML主體部分添加下列markup:

  1. <input type="button"value="get location" onclick="getUserLocation()"/> 
  2. <div id="locationData"> 
  3. Location data here  
  4. </div> 

可以隨時調用地理位置函數,如頁面加載時或是與jQuery文檔準備函數合在一起時。為了更好地進行演示,我們使用按鈕調用函數而且會把位置數據寫入div要素中,div要素最初就有一些簡單的占位符文本。

獲取位置函數

getPosition方法是我們用來確定用戶位置的主要方法。在頁面標頭的腳本區域添加下列函數:

  1. functiongetUserLocation(){  
  2. //checkifthegeolocationobjectissupported,ifsogetposition  
  3. if(navigator.geolocation)  
  4. navigator.geolocation.getCurrentPosition(displayLocation,displayError);  
  5. else  
  6. document.getElementById("locationData").innerHTML="Sorry-yourbrowserdoesn'tsupportgeolocation!";  

用戶點擊按鈕的時候就會調用函數。代碼首先會檢查導航器地理位置對象是否顯示出來,如果顯示出來則瀏覽器支持。如果地理位置對象被支持,那么代碼會使用它來調用getCurrentPosition方法。

getCurrerentPosition方法取兩個參數指示回調函數。,一個是在地理位置信息被獲取時調用的函數,還有一個是錯誤返回時調用的函數。

如果地理位置對象不被支持,那么函數就只會把錯誤信息寫入頁面div要素中。

當一個網站首次試圖檢索用戶位置數據時,用戶瀏覽器會命令其確定它們是否同意共享數據。該函數只在用戶同意的時候執行。

顯示位置函數

下一步,我們需要部署的函數其實是getCurrentPosition方法調用中的第一個參數。當瀏覽器接收到這個函數的時候,用戶位置數據會傳給這個函數。將下列代碼添加到getUserLocation函數后面:

  1. functiondisplayLocation(position){  
  2. /buildtextstringincludingco-ordinatedatapassedinparameter  
  3. vardisplayText="Userlatitudeis"+position.coords.latitude+"andlongitudeis"+position.coords.longitude;  
  4. //displaythestringfordemonstration  
  5. document.getElementById("locationData").innerHTML=displayText;  

這個代碼先創建了一個變量,在變量中創建了一個字符串,該字符串包含了位置參數的經緯度數據。然后這個函數會把這個信息和一些信息化文本寫入頁面。在你自己的網站中,你還可以把這些數據用作其他目的,而不僅僅是寫入頁面——此處僅作演示用。

錯誤函數

使用地理位置設備的時候可能會出現錯誤。如,用戶或許不同意共享自己的地理位置數據,瀏覽器可能不能檢索數據等。因此我們需要添加一個函數來處理應對錯誤,使用getCurrentPosition方法的第二個函數。在displayLocation函數后添加下列函數:

  1. function displayError(error) {  
  2. //get a reference to the HTML element forwriting result  
  3. var locationElement =document.getElementById("locationData");  
  4. //find out which error we have, outputmessage accordingly  
  5. switch(error.code) {  
  6. case error.PERMISSION_DENIED:  
  7. locationElement.innerHTML"Permission was denied";  
  8. break;  
  9. case error.POSITION_UNAVAILABLE:  
  10. locationElement.innerHTML"Location data not available";  
  11. break;  
  12. case error.TIMEOUT:  
  13. locationElement.innerHTML"Location request timeout";  
  14. break;  
  15. case error.UNKNOWN_ERROR:  
  16. locationElement.innerHTML"An unspecified error occurred";  
  17. break;  
  18. default:  
  19. locationElement.innerHTML"Who knows what happened...";  
  20. break;  
  21. }} 

這個函數會地理位置請求發出后出現的錯誤信息進行檢索。該函數首先會獲取頁面div要素的參考以便寫入合適的錯誤信息。用交換語句對此信息進行調整使其適應錯誤的特殊屬性。

考慮和選擇

以上函數涵蓋了用戶位置數據檢索的基本要點。你可以使用檢索過的位置數據通過Google Maps API在地圖上顯示用戶位置,主要是在自定義URL中創建數據變量,然后將其加載到你頁面的HTML圖像要素中。

你還可以使用watchPosition方法追蹤用戶位置甚至是他們移動的速度,盡管這些數據因為并非來自移動設備的GPS而缺乏準確性,例如數據可能來自無線網絡。

這些函數會為Web開發員帶來美好的未來。不過,它們的成功不僅需要瀏覽器提供支持,還得用戶喜歡,硬件支持。

原文:http://www.e800.com.cn/articles/2012/0214/502849.shtml

【編輯推薦】

  1. 一句代碼實現HTML 5淘寶語音搜索
  2. 使用HTML 5和CSS3制作登錄頁面完整步驟
  3. 用Web socket和Node.js實現HTML 5畫布的實時繪圖
  4. HTML 5 File API:文件拖放上傳功能
  5. 使用HTML 5制作物理游戲
責任編輯:陳貽新 來源: e800
相關推薦

2014-03-20 10:50:44

HTML5 定位技術

2012-09-04 10:15:00

IBMdw

2009-11-20 09:25:50

TwitterAPI

2023-10-27 16:12:29

2023-08-25 13:23:15

2024-07-09 08:37:13

2013-11-15 15:46:16

Nagios地圖

2013-07-16 11:16:03

云計算

2012-02-26 21:41:46

手機黑客

2011-11-18 09:28:17

地理位置API

2011-09-13 16:24:11

PhoneGap AP

2014-06-20 16:58:14

天下游修改工具Android

2013-01-25 15:03:27

LBALBS移動廣告

2012-02-02 14:25:14

LBS游戲地理位置

2023-09-13 16:38:09

Geo數據類型Redis

2011-04-27 15:32:27

用戶地理位置信息蘋果谷歌

2011-06-30 09:07:22

Gartner云計算

2011-05-03 15:55:50

地理位置服務LBS簽到

2011-04-27 09:58:56

Windows PhoLBS微軟

2010-03-06 08:56:22

Chrome地理定位
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产视频在线观看一区二区三区 | 色婷婷av一区二区三区软件 | 亚洲综合久久久 | 亚洲国产中文字幕 | 欧美成人h版在线观看 | 国产精品久久久久久妇女6080 | 成人黄色av| 国产91丝袜在线熟 | 日本人做爰大片免费观看一老师 | 日本免费在线 | 日韩三区在线 | 日韩www视频 | 国产精品一区二区在线 | 91九色在线观看 | 精品国产乱码久久久久久88av | 麻豆久久久久久久 | 成人免费在线 | 天天操夜夜操 | 欧美日韩三区 | 久久99国产精品 | 国产精品高潮呻吟久久av黑人 | 波多野结衣一区二区三区在线观看 | 亚洲高清在线 | 久久免费高清 | 国产午夜av片 | a毛片| 欧美激情在线观看一区二区三区 | 麻豆国产一区二区三区四区 | 在线免费国产 | 日日夜夜免费精品视频 | 成人欧美一区二区三区视频xxx | 成在线人视频免费视频 | 国产精品综合色区在线观看 | 在线一区二区三区 | 欧美一区 | 免费午夜视频在线观看 | 亚洲一在线 | 国产一区亚洲二区三区 | 亚洲午夜av久久乱码 | 黄a免费看| 草比网站|