這篇文章主要介紹了JavaScript地理位置信息API的相關(guān)資料,需要的朋友可以參考下
對(duì)于一個(gè)Web開(kāi)發(fā)程序員來(lái)說(shuō),開(kāi)發(fā)工作中一個(gè)最有意思的方面就是獲取地理位置信息;試想一下,瀏覽你的網(wǎng)頁(yè)的用戶是在什么地方?程序員可以根據(jù)用戶的地理位置信息來(lái)調(diào)整網(wǎng)站的語(yǔ)言、特定產(chǎn)品介紹等。下面我們將要演示的就是通過(guò)瀏覽器里JavaScript地理位置信息API來(lái)獲取詳細(xì)地理信息!
檢查你的瀏覽器是否支持地理位置信息API
目前主流的瀏覽器都已經(jīng)對(duì)JavaScript地理位置信息API有了較好的支持。但如果你還不放心,那么,確認(rèn)地理位置信息API支持情況最好的方式是瀏覽器的功能特征測(cè)試。
if("geolocation" in navigator) {
//w00t!
}
else {
alert("很不幸!你的瀏覽器并不支持Geolocation API功能");
}
對(duì)于判斷瀏覽器是否支持地理位置API,最主要的就是看看navigator.geolocation這個(gè)對(duì)象,使用in,而不是簡(jiǎn)單的使用if(navigator.geolocation),這一點(diǎn)非常重要,因?yàn)楹笳哂锌赡軙?huì)因此初始化地理位置信息對(duì)象,從而占用/鎖定了設(shè)備資源。
查詢(xún)地理位置信息
這個(gè)navigator.geolocation.getCurrentPosition方法是獲取詳細(xì)位置信息最關(guān)鍵的一個(gè)接口:
if("geolocation" in navigator) {
navigator.geolocation.getCurrentPosition(function(position) {
console.log(position);
});
}
一旦你調(diào)用了這個(gè)方法(如果請(qǐng)求成功,它會(huì)執(zhí)行你在參數(shù)里提供的回調(diào)方法),瀏覽器會(huì)詢(xún)問(wèn)用戶是否允許程序獲取他們的地理位置信息。
當(dāng)用戶運(yùn)行網(wǎng)頁(yè)獲取他們的位置信息后,瀏覽器就可以開(kāi)始讀取地理信息,它會(huì)返回給你一個(gè)位置信息對(duì)象,對(duì)象的結(jié)構(gòu)基本是這樣的:
// "Position" object
{
coords: { "Coordinates" object
accuracy: 65,
altitude: 294.4074401855469,
altitudeAccuracy: 10,
heading: -1,
latitude: 43.01256284360166,
longitude: -89.44531987692744,
speed: -1
},
timestamp: 1429722992094269
}
如果你覺(jué)得這些地理位置信息(地理經(jīng)緯度坐標(biāo))還不夠充足,還想要這些地理坐標(biāo)屬于哪個(gè)國(guó)家、城市,則你需要再調(diào)用其它的第三方數(shù)據(jù)庫(kù)——這里我們就不細(xì)述了。
這個(gè)地理位置信息API在很多移動(dòng)應(yīng)用里是最常見(jiàn)的API運(yùn)用,作為Web程序員,它應(yīng)該是你必須具備的一項(xiàng)知識(shí)技巧。幸運(yùn)的是,目前所有流行的瀏覽器都支持了這種技術(shù)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。
版權(quán)所有:易賢網(wǎng)