對於一個Web開發程序員來說,開發工作中一個最有意思的方面就是獲取地理位置信息;試想一下,浏覽你的網頁的用戶是在什麼地方?程序員可以根據用戶的地理位置信息來調整網站的語言、特定產品介紹等。下面我們將要演示的就是通過浏覽器裡JavaScript地理位置信息API來獲取詳細地理信息!
檢查你的浏覽器是否支持地理位置信息API
目前主流的浏覽器都已經對JavaScript地理位置信息API有了較好的支持。但如果你還不放心,那麼,確認地理位置信息API支持情況最好的方式是浏覽器的功能特征測試。
if("geolocation" in navigator) { //w00t! } else { alert("很不幸!你的浏覽器並不支持Geolocation API功能"); }
對於判斷浏覽器是否支持地理位置API,最主要的就是看看navigator.geolocation這個對象,使用in,而不是簡單的使用if(navigator.geolocation),這一點非常重要,因為後者有可能會因此初始化地理位置信息對象,從而占用/鎖定了設備資源。
查詢地理位置信息
這個navigator.geolocation.getCurrentPosition方法是獲取詳細位置信息最關鍵的一個接口:
if("geolocation" in navigator) { navigator.geolocation.getCurrentPosition(function(position) { console.log(position); }); }
一旦你調用了這個方法(如果請求成功,它會執行你在參數裡提供的回調方法),浏覽器會詢問用戶是否允許程序獲取他們的地理位置信息。
當用戶運行網頁獲取他們的位置信息後,浏覽器就可以開始讀取地理信息,它會返回給你一個位置信息對象,對象的結構基本是這樣的:
// "Position" object { coords: { "Coordinates" object accuracy: 65, altitude: 294.4074401855469, altitudeAccuracy: 10, heading: -1, latitude: 43.01256284360166, longitude: -89.44531987692744, speed: -1 }, timestamp: 1429722992094269 }
如果你覺得這些地理位置信息(地理經緯度坐標)還不夠充足,還想要這些地理坐標屬於哪個國家、城市,則你需要再調用其它的第三方數據庫——這裡我們就不細述了。
這個地理位置信息API在很多移動應用裡是最常見的API運用,作為Web程序員,它應該是你必須具備的一項知識技巧。幸運的是,目前所有流行的浏覽器都支持了這種技術。
以上就是本文的全部內容,希望對大家學習javascript程序設計有所幫助。