首頁 web前端 H5教程 html5中地理位置定位api介面開發應用小結_html5教學技巧

html5中地理位置定位api介面開發應用小結_html5教學技巧

May 16, 2016 pm 03:50 PM
api 地理位置

地理位置定位的幾種方式:IP位址,GPS,Wifi,GSM/CDMA

地理位置取得流程
1、使用者開啟需要取得地理位置的web應用。
2、應用程式向瀏覽器要求地理位置,瀏覽器彈出詢問,詢問使用者是否共用地理位置。
3、假設使用者允許,瀏覽器從設別查詢相關資訊。
4、瀏覽器將相關資訊傳送到一個信任的位置伺服器,伺服器傳回具體的地理位置。

HTML5地理地位的實現
1. 實現基於瀏覽器(無需後端支援)獲取用戶的地理位置技術
2. 精確定位用戶的地理位置( 精準度最高10m之內,依賴裝置)
3. 持續追蹤使用者的地理位置
4. 與Google Map、或Baidu Map 互動呈現位置資訊

Geolocation API 用於將使用者目前地理位置資訊共享給信任的站點,這涉及用戶的隱私安全問題,所以當一個站點需要獲取用戶的當前地理位置,瀏覽器會提示用戶是「允許」 or “拒絕”。
先看看哪些瀏覽器支援Geolocation API:
IE9.0 、FF3.5 、Safari5.0 、Chrome5.0 、Opera10.6 、IPhone3.0 、Android2.0
Geolocation API存在於navigator對像中,只包含3個方法:

複製代碼
代碼如下:

1、getCurrentPosition //目前位置
2、watchPosition //監視位置
3、clearWatch //清除監視
navigator.geolocation.getCurrentPosition( … , function(error){
switch(error>switch(error>switch(error>switch(error>switch(error>switch(error)){ .code){
case error.TIMEOUT :
alert( " 連接逾時,請重試" );
break;
case error.PERMISSION_DENIED :
alert( "您拒絕了使用位置共享服務,查詢已取消" );
break;
case error.POSITION_UNAVAILABLE :
alert( " ,抱歉,暫時無法為您所在的星球提供位置服務" );
break;
}
});

watchPosition像追蹤器與clearWatch成對。
watchPosition與clearWatch有點像是setInterval和clearInterval的工作方式。
var watchPositionId = navigator.geolocation.watchPosition(success_callback, error_callback, options);
navigator.geolocation.clearWatch(地理位置PositionId );
navigator.geolocation.clearWatch(PositionId );
HTML1、開啟,判斷是否瀏覽器支援LBS api

複製程式碼
複製程式碼



複製程式碼



複製碼如下:

function isGeolocationAPIAvailable()
{
var location = "No, Geolocation is not supported by this browser."; if (windownav) {igator. location = "Yes, Geolocation is supported by this browser.";
}
alert(location);
}
上面的例子中,還在displayError方法中,捕捉了異常;2、取得使用者的地理位置
這個使用getCurrentPosition就可以了;









複製程式碼


程式碼如下:


function requestPosition() {
if (nav == null) {
nav = window.navigator; 🎜>}
if (nav != null) {
var geoloc = nav.geolocation;
if (geoloc != null) {
geoloc.getCurrentPosition(successCallback); 🎜>else {
alert("Geolocation API is not supported in your browser");
}
} else { alert("Navigator is not found"); } }
當獲得地理位置成功後,會產生一個回調方法了,處理返回的結果,





複製程式碼


程式碼如下:

function setLocation(val, e) { document.getElementById(e).value = val
}
}
function successCallback(position)
{
setLocation(position.coords.latitude, "latitude"); setLocation(position.coords.longitude, "longitude");
} >
3、一個很常見的問題,是如何追蹤使用者不斷變化的地理位置,這裡小結下其中用到的兩個api 1 watchPosition 範例如下: 複製程式碼程式碼如下:

function listenForPositionUpdates() {
if (nav == null) {
nav = window.navigator;
}
if (nav != null ) {
var geoloc = nav.geolocation;
if (geoloc != null) {
watchID = geoloc.watchPosition(successCallback);
} else {
alert2"Ge not supported in your browser");
}
} else {
alert("Navigator is not found");
}
}

}
}
然後在successCallback中,就可以設置顯示最新的地理位置:
複製代碼


代碼如下:

function successCallback(position){
setText(position.coords.latitude, "latitude"); setText(position.coords.longitude, "longitude");
}


如果不希望即時追蹤,可以取消之: function clearWatch(watchID) { window.navigator.geolocation.clearWatch(watchID);
}

4、如何處理異常
當遇到異常時,可以捕捉:
複製程式碼



複製程式碼


程式碼>

if (geoloc != null) {
geoloc.getCurrentPosition(successCallback, errorCallback);
}
function errorCallback(error);
}
function errorCallback(error) { <.>switch (error.code) {
case error.PERMISSION_DENIED:
message = "This website does not have permission to use "
"the Geolocation API";
; error.POSITION_UNAVAILABLE:
message = "The current position could not be determined.";
break;
case error.PERMISSION_DENIED_TIMEOUT:
case error.PERMISSION_DENIED_TIME/ "within the specified timeout period.";
break;
}
if (message == "") {
var strErrorCode = error.code.toString();
message = " The position could not be determined due to "
"an unknown error (Code: " strErrorCode ").";
} alert(message); }
}
alert(message);
}
^ >5、 在google 地圖上顯示位置(前提是有google map api等設定好)

複製程式碼



複製程式碼


程式碼如下:


function getCurrentLocation()
{
if (navigator.geolocation)
{
navigator.geolo. );
}
else
{
alert("No, Geolocation API is not supported by this browser.");
}
}
function showPMyosition(unction)
{
var coordinates=position.coords.latitude "," position.coords.longitude;
var map_url="http://maps.googleapis.com/maps/api/staticmap?center="
coordinates "&zoom=14&size=300x300&sensor=false";
document.getElementById("googlemap").innerHTML="html5中地理位置定位api介面開發應用小結_html5教學技巧"; showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
alert("This website does not have permission to use the Geopermission >break;
case error.POSITION_UNAVAILABLE:
alert("The current position could not be determined.")
break;
case error.TIMEOUT:
break;
case error.TIMEOUT: alert"The cur> not be determined within the specified time out period.") break; case error.UNKNOWN_ERROR: alert("The position could not be determined due to an unknown error."); } }
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
如何修改抖音IP屬地 如何修改抖音IP屬地 May 04, 2024 pm 04:36 PM

是的,您可以修改抖音 IP 屬地,方法如下:開啟抖音,編輯個人資料。修改城市訊息,選擇您要顯示的城市或地區。登出並重新登錄,使修改生效。

高德地圖是不是要手機註冊 高德地圖是不是要手機註冊 May 05, 2024 pm 05:12 PM

是的,為了安全保障、個人化服務和帳號管理,高德地圖需要使用手機號碼註冊。註冊步驟包括:開啟高德地圖應用,點擊“我的”和“登入/註冊”,選擇手機號碼註冊,輸入手機號碼取得驗證碼,設定密碼即可完成註冊。

微博怎麼發圖片和影片一起 微博怎麼發圖片和影片一起 May 03, 2024 am 01:15 AM

微博同時發布圖片和影片的操作步驟如下:選擇相關或互補的圖片和影片。打開微博客戶端並點擊發布按鈕。選擇“圖片和影片”標籤。新增圖片和影片(最多9張圖片及1個影片)。輸入文字內容並新增相關資訊。發布即可。

抖音的IP位址是怎麼顯示的? IP位址顯示的是即時位置嗎? 抖音的IP位址是怎麼顯示的? IP位址顯示的是即時位置嗎? May 02, 2024 pm 01:34 PM

用戶在抖音不僅可以觀看各種有趣的短視頻,還可以發布自己拍攝的作品,與全國乃至全球的網友互動。在這個過程中,抖音的IP位址顯示功能引起了廣泛關注。一、抖音的IP位址是怎麼顯示的?抖音的IP位址顯示功能主要是透過地理位置定位服務來實現的。當使用者在抖音上發布或觀看影片時,抖音會自動取得使用者的地理位置資訊。這個過程主要分為以下幾個步驟:首先,用戶啟用抖音應用程式並允許應用程式存取其地理位置資訊;其次,抖音使用定位服務來獲取用戶的地理位置資訊;最後,抖音將用戶的地理位置資訊與其發布或觀看的影片資料相關聯,並將

抖音推薦怎麼重新設定?如何把推薦改為精選? 抖音推薦怎麼重新設定?如何把推薦改為精選? May 08, 2024 pm 03:52 PM

抖音作為一個以短影片為主的社群平台,推薦演算法是其核心功能之一。它能夠根據用戶的興趣和行為,推薦相關的影片內容。有時使用者可能想要重新設定推薦演算法,以獲得更符合自己喜好的內容。那麼,抖音推薦怎麼重新設定呢?抖音如何把推薦改為精選?本文將為您解答這兩個問題。一、抖音推薦怎麼重新設定? 1.開啟抖音APP,進入個人首頁。 2.點選右上角的「設定」圖標,進入設定頁面。 3.在設定頁面,找到「建議管理」選項,點選進入。 4.在推薦管理頁面,你可以看到自己的興趣標籤和興趣偏好。你可以依照自己的喜好,選擇或取消選擇不同的

抖音如何修改位置權限 抖音如何修改位置權限 May 03, 2024 pm 11:24 PM

修改抖音位置權限的步驟:1. 開啟抖音應用,點選「我」。 2. 點選右上角的「三橫槓圖示」。 3. 選擇“設定”。 4. 找到“隱私設定”,並點選。 5. 點選「定位服務」。 6. 根據需要選擇「允許使用定位」或「僅在使用時詢問」。 7. 修改後需重啟抖音應用才能生效。

抖音如何更改建議設定 抖音如何更改建議設定 May 04, 2024 am 12:06 AM

可以透過更改「內容偏好」設定來更改抖音推薦,包括調整推薦影片類型、追蹤有興趣的創作者、封鎖不喜歡的內容、設定影片語言、地理位置限制、熱門話題追蹤和清除搜尋/瀏覽記錄。

如何變更抖音時區設定 如何變更抖音時區設定 May 04, 2024 am 01:57 AM

無法變更抖音時區設置,時區將基於目前地理位置自動設定。

See all articles