溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

什么是JavaScript地理位置信息API

發(fā)布時(shí)間:2020-07-27 09:47:00 來源:億速云 閱讀:126 作者:Leah 欄目:web開發(fā)

什么是JavaScript地理位置信息API?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

對于一個(gè)Web開發(fā)程序員來說,開發(fā)工作中一個(gè)最有意思的方面就是獲取地理位置信息;試想一下,瀏覽你的網(wǎng)頁的用戶是在什么地方?程序員可以根據(jù)用戶的地理位置信息來調(diào)整網(wǎng)站的語言、特定產(chǎn)品介紹等。下面我們將要演示的就是通過瀏覽器里JavaScript地理位置信息API來獲取詳細(xì)地理信息!


檢查你的瀏覽器是否支持地理位置信息API

目前主流的瀏覽器都已經(jīng)對JavaScript地理位置信息API有了較好的支持。但如果你還不放心,那么,確認(rèn)地理位置信息API支持情況最好的方式是瀏覽器的功能特征測試。

if("geolocation" in navigator) {
	//w00t!
}
else {
	alert("很不幸!你的瀏覽器并不支持Geolocation API功能");
}

對于判斷瀏覽器是否支持地理位置API,最主要的就是看看navigator.geolocation這個(gè)對象,使用in,而不是簡單的使用if(navigator.geolocation),這一點(diǎn)非常重要,因?yàn)楹笳哂锌赡軙?huì)因此初始化地理位置信息對象,從而占用/鎖定了設(shè)備資源。

查詢地理位置信息

這個(gè)navigator.geolocation.getCurrentPosition方法是獲取詳細(xì)位置信息最關(guān)鍵的一個(gè)接口:

if("geolocation" in navigator) {
	navigator.geolocation.getCurrentPosition(function(position) {
		console.log(position);
	});
}

一旦你調(diào)用了這個(gè)方法(如果請求成功,它會(huì)執(zhí)行你在參數(shù)里提供的回調(diào)方法),瀏覽器會(huì)詢問用戶是否允許程序獲取他們的地理位置信息:

什么是JavaScript地理位置信息API

當(dāng)用戶運(yùn)行網(wǎng)頁獲取他們的位置信息后,瀏覽器就可以開始讀取地理信息,它會(huì)返回給你一個(gè)位置信息對象,對象的結(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
}

如果你覺得這些地理位置信息(地理經(jīng)緯度坐標(biāo))還不夠充足,還想要這些地理坐標(biāo)屬于哪個(gè)國家、城市,則你需要再調(diào)用其它的第三方數(shù)據(jù)庫——這里我們就不細(xì)述了。

這個(gè)地理位置信息API在很多移動(dòng)應(yīng)用里是最常見的API運(yùn)用,作為Web程序員,它應(yīng)該是你必須具備的一項(xiàng)知識(shí)技巧。幸運(yùn)的是,目前所有流行的瀏覽器都支持了這種技術(shù)。祝編程快樂!

關(guān)于什么是JavaScript地理位置信息API問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI