亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

html5中地理位置定位api接口開發應用小結

2024-08-26 00:15:06
字體:
來源:轉載
供稿:網友
地理位置定位的幾種方式: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個方法:

復制代碼 代碼如下:www.CuoXIn.com

1、getCurrentPosition //當前位置
2、watchPosition //監視位置
3、clearWatch //清除監視
navigator.geolocation.getCurrentPosition( … , function(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(watchPositionId );

HTML 5提供了地理位置等一系列API可以給用戶使用,方便用戶制作LBS的地理應用,首先在支持HTML 5的瀏覽器中,當開啟API時,會詢問是否用戶同意使用api,否則不會開啟的,保證安全。
1、開啟,判斷是否瀏覽器支持LBS api

復制代碼 代碼如下:www.CuoXIn.com

function isGeolocationAPIAvailable()
{
var location = "No, Geolocation is not supported by this browser.";
if (window.navigator.geolocation) {
location = "Yes, Geolocation is supported by this browser.";
}
alert(location);
}

上面的例子中,還在displayError方法中,捕捉了異常;
2、獲得用戶的地理位置
這個使用getCurrentPosition就可以了;

復制代碼 代碼如下:www.CuoXIn.com

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");
}
}

當獲得地理位置成功后,會產生一個回調方法了,處理返回的結果,

復制代碼 代碼如下:www.CuoXIn.com

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
例子如下:

復制代碼 代碼如下:www.CuoXIn.com

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

然后在successCallback中,就可以設置顯示最新的地理位置:

復制代碼 代碼如下:www.CuoXIn.com

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

如果不希望實時跟蹤,則可以取消之:
function clearWatch(watchID) {
window.navigator.geolocation.clearWatch(watchID);
}
4、如何處理異常
當遇到異常時,可以捕捉之:

復制代碼 代碼如下:www.CuoXIn.com

if (geoloc != null) {
geoloc.getCurrentPosition(successCallback, errorCallback);
}
function errorCallback(error) {
var message = "";
switch (error.code) {
case error.PERMISSION_DENIED:
message = "This website does not have permission to use "
+ "the Geolocation API";
break;
case error.POSITION_UNAVAILABLE:
message = "The current position could not be determined.";
break;
case error.PERMISSION_DENIED_TIMEOUT:
message = "The current position could not be determined "
+ "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);
}

5、 在google 地圖上顯示位置(前提是有google map api等設置好)

復制代碼 代碼如下:www.CuoXIn.com

function getCurrentLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showMyPosition,showError);
}
else
{
alert("No, Geolocation API is not supported by this browser.");
}
}
function showMyPosition(position)
{
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="<img src='"+map_url+"' />";
}
function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
alert("This website does not have permission to use the Geolocation API")
break;
case error.POSITION_UNAVAILABLE:
alert("The current position could not be determined.")
break;
case error.TIMEOUT:
alert("The current position could 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.")
break;
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久国产影院| 在线观看视频亚洲| 日韩欧美极品在线观看| 欧美亚洲免费电影| 成人精品久久av网站| 国产主播精品在线| 成人亚洲激情网| 日韩av在线影视| 亚洲v日韩v综合v精品v| 亚洲一级黄色av| 国产日韩在线免费| 久久天天躁狠狠躁夜夜躁2014| 亚洲国产精品字幕| 精品久久久中文| 久久中文字幕一区| 欧美贵妇videos办公室| 久久99精品久久久久久琪琪| 久久色精品视频| 欧美壮男野外gaytube| 福利视频导航一区| 国产精品日韩在线观看| 日韩国产欧美精品一区二区三区| 国产精品444| 亚洲成人久久久久| 自拍偷拍亚洲精品| 亚洲国产日韩欧美在线99| 欧美又大粗又爽又黄大片视频| 久久精品国产精品亚洲| 久久久久久噜噜噜久久久精品| 亚洲尤物视频网| 亚洲激情电影中文字幕| 亚洲乱码国产乱码精品精| 国产91精品网站| 欧洲美女7788成人免费视频| 91国在线精品国内播放| 亚洲女人天堂成人av在线| 成人黄色免费网站在线观看| 欧美高清一级大片| 日日骚久久av| 日韩在线不卡视频| 亚洲福利视频免费观看| 精品国产91久久久久久老师| 国产网站欧美日韩免费精品在线观看| 最近2019年日本中文免费字幕| 国产精品三级久久久久久电影| 亚洲国产成人精品电影| 亚洲无限乱码一二三四麻| 久久久国产成人精品| 欧美一乱一性一交一视频| 欧美成人午夜激情视频| 69**夜色精品国产69乱| 欧美性猛交丰臀xxxxx网站| 在线播放亚洲激情| 亚洲第一色在线| 亚洲女同性videos| 2019亚洲男人天堂| 亚洲影院色无极综合| 亚洲成人亚洲激情| 69视频在线免费观看| 欧美放荡办公室videos4k| 精品一区二区三区电影| 97在线免费观看| 亚洲最大中文字幕| 欧美色播在线播放| 欧美伊久线香蕉线新在线| 欧美成人精品激情在线观看| 亚洲日本成人网| 成人免费在线视频网站| 欧美日韩在线视频一区二区| 国产欧美日韩免费看aⅴ视频| 欧美韩国理论所午夜片917电影| 国产成人精品电影久久久| 国产精品久久久久久久久久新婚| 亚洲午夜精品久久久久久性色| 国产日韩欧美黄色| 欧美极品在线播放| 日本不卡免费高清视频| 欧美亚洲视频在线看网址| 欧美日本在线视频中文字字幕| 成人性生交大片免费看视频直播| 91av视频在线观看| 91影视免费在线观看| 精品中文字幕乱| 欧美激情视频一区二区| 国产成人精品在线观看| 国产一区二区日韩精品欧美精品| 久久艹在线视频| 2018中文字幕一区二区三区| 国产丝袜一区二区| 国内久久久精品| 一区二区中文字幕| 色偷偷88888欧美精品久久久| 亚洲男人的天堂网站| 欧美日韩一二三四五区| 精品国产老师黑色丝袜高跟鞋| 亚洲综合精品一区二区| 精品亚洲精品福利线在观看| 欧美高清视频在线| 午夜精品视频在线| 欧美亚洲午夜视频在线观看| 欧美午夜激情视频| 成人有码视频在线播放| 91精品国产91久久久久久| 色综合视频一区中文字幕| 亚洲激情国产精品| 国产成人精彩在线视频九色| 国产精品高清在线观看| 欧美电影免费观看高清| 奇米四色中文综合久久| 欧美理论在线观看| 国产在线a不卡| 亚洲深夜福利在线| 国产视频久久久久| 国产视频福利一区| 色综合导航网站| 亚洲精品av在线播放| 日本a级片电影一区二区| 日韩在线观看精品| 欧美精品久久久久久久免费观看| 亚洲午夜色婷婷在线| 日本亚洲欧美成人| 亚洲国产一区自拍| 国产成人激情小视频| 97香蕉超级碰碰久久免费的优势| 98精品国产高清在线xxxx天堂| 久久久亚洲天堂| 国产亚洲欧美aaaa| 欧美国产高跟鞋裸体秀xxxhd| 精品久久久免费| 欧美放荡办公室videos4k| 久久精品中文字幕免费mv| 国产精品亚洲一区二区三区| 欧美在线观看一区二区三区| 69av成年福利视频| 亚洲丁香婷深爱综合| 亚洲国产97在线精品一区| 777午夜精品福利在线观看| 欧美成人免费网| 国产成人拍精品视频午夜网站| 亚洲国产一区二区三区四区| 欧美精品一本久久男人的天堂| 美日韩精品免费观看视频| 欧美精品在线第一页| 日韩在线免费观看视频| 亚洲第一页中文字幕| 91高清免费视频| 精品高清美女精品国产区| 日韩中文字幕在线| 9.1国产丝袜在线观看| 97超级碰碰人国产在线观看| 亚洲国产精品悠悠久久琪琪| 黄网站色欧美视频| 国产精品亚洲片夜色在线| 欧美老女人bb| 中文字幕亚洲欧美日韩2019| 久久久久久av| 日韩美女视频中文字幕| 国产成人精品免费久久久久| 久久国产精品电影| 亚洲成人亚洲激情| 亚洲国产天堂久久国产91| 亚洲黄一区二区| 国产成人a亚洲精品| 亚洲成人网在线|