亚洲乱码卡一卡二卡三永久-亚洲乱码一二三四区-亚洲乱码一区二区三区在线观看-亚洲伦理一区-成人在色线视频在线观看免费大全-成人在线91

應用程序編程接口 是編程指令集合和訪問軟件應用程序的標準。通過一個 API,您可以利用 API 提供的服務設計出強大的產品。

HTML5 提供了一些新的 API。例如:

  • 用于渲染圖形或其他可視圖像的新 canvas 元素所使用的 2D 繪圖 API
  • 支持離線 Web 應用程序的緩存 API
  • 使用新 video 和 audio 元素來播放視頻和音頻的 API
  • 支持瀏覽歷史訪問和添加頁面的歷史 API
  • draggable 屬性支持的拖放 API
  • contenteditable 屬性支持的編輯 API
  • 使用 JavaScript API 進行鍵-值對存儲的客戶端存儲及嵌入式 SQL 數據庫

本文主要關注于兩個 API:Geolocation 和 Web Worker。首先,本文將分析 API;然后,再創建一個使用這兩種 API 的頁面。

回頁首

商機無處不在:GEOLOCATION

您可以使用 Geolocation API 來確定和分享地理位置。這個 API 會返回經度和緯度坐標 — 企業可以利用這些信息向這個坐標附近的區域提供服務。這些服務一般指的是基于位置的服務(LBS)。

LBS 指的是用于確定所監控設備的物理位置的地理數據源,因此也可以確定該位置的人們。這個功能最有趣的地方是它使人們能夠圍繞某些關注的地理位置點周圍的市場進行交互。

企業實際上是為客戶創造優質、實用的服務和價值,同時為利益干系人、債權人、股東、員工和供應商創造經濟和財務效益。由 Geolocation 支持的 LBS 能夠使用非瀏覽器設備或瀏覽器來簡化對貨物或人的追蹤和監控。在商業應用上,地理位置指的是利用地理信息來確定人或事的位置,然后將這些信息銷售給任何需要使用這些信息的人, 他們可能利用這個位置信息來進行社交活動、商業應用或其他用途,前提是這些信息的擁有者已經授權使用這些信息。

如何獲取地理信息

Geolocation API 是基于新增加的全局對象 navigatornavigator.geolocation。JavaScript 對象 navigator 包含了很有用的有關訪問者的瀏覽器和系統的信息。Geolocation 可以使用 IP 地址、基于 Web 的數據庫、無線網絡連接和三角測量或 GPS 技術來確定經度和緯度。一定要注意 Geolocation 所提供信息的精確性會由于獲取信息的方式不同而有所差別。有時候,您可能無法精確地讀取某些位置的地理信息,甚至完全無法讀取。

腳本可以使用 navigator.geolocation 對象來確定用戶所使用設備的位置信息。在獲得了位置信息之后,腳本會基于所獲得的數據創建和生成一個位置對象。

navigator.geolocation 對象具有 3 個方法:

  • getCurrentPosition()
  • watchPosition()
  • clearWatch()

getCurrentPosition() 方法

getCurrentPosition() 方法能夠獲取用戶的當前位置,但是只能獲取一次。當腳本調用這個方法時,這個方法會以異步方式獲取宿主設備的當前位置。異步通信 表示發送者和接收者在通信時并不是同時加入的。使用異步的通信方式使瀏覽器能夠繼續執行其他活動,這樣它就不需要等待接收實體的響應。

getCurrentPosition() 方法最多可以接收 3 個參數:

  • geolocationSuccess。 當前位置的回調函數(必需的)
  • geolocationError。 出現錯誤時執行的回調函數(可選的)
  • geolocationOptions。 地理位置選項(可選的)

navigator.geolocation.getCurrentPositon() 方法會將宿主設備的當前位置通過一個 Position 對象以參數的形式返回給回調函數 geolocationSuccess。如果出現錯誤,那么它會使用一個 PositionError 對象來調用回調函數 geolocationError。您可以為 geolocationOptions 設置 3 個屬性:enableHighAccuracy、timeout  maximumAge。如果設備支持,分別指定位置返回的超時時間和緩存位置可以使用的最長時間,那么這些可選屬性就能夠提高精確度。

getCurrentPosition() 方法的調用方式如下所示:

void navigator.geolocation.getCurrentPosition(
          geolocationSuccess, geolocationError, geolocationOptions);

watchPosition() 方法

watchPosition() 方法會定期查詢用戶的位置,觀察用戶位置是否發生了變化。它最多可以接收 3 個參數。

當調用 watchPosition 時,它會異步地啟動一個觀察進程,包括獲取一個新的 Position 對象和創建一個 watchID。如果獲取位置成功,那么關聯了 Position 對象的geolocationSuccess 方法就被調用。如果執行帶有非空的 geolocationError 參數的方法出現錯誤,那么這個方法會產生一個以 PositionError 對象為參數的 geolocationError。當設備的位置發生變化時,帶有新的 Position 對象的回調函數就會被調用。

watchPosition() 方法的調用方式如下所示:

long navigator.geolocation.watchPosition(
          geolocationSuccess, geolocationError, geolocationOptions);

clearWatch() 方法

clearWatch() 方法會終止一個仍在執行的 watchPosition()。這個方法只能有一個參數。被調用時,它會查找之前聲明的 watchID 參數,并立即停止它。

clearWatch() 方法的調用方式如下所示:

void navigator.geolocation.clearWatch(watchID)

地理數據:Position 對象

Geolocation API 會返回一個地理位置對象 Position。這個對象具有兩個屬性:timestamp  coordstimestamp 屬性表示地理數據創建的時間。而 coords 屬性包含了 7 個屬性:

  • coords.latitude 估算的緯度
  • coords.longitude。 估算的經度
  • coords.altitude 估算的高度
  • coords.accuracy。 所得經度和緯度的估算精度,以米為單位
  • coords.altitudeAccuracy 所得高度的估算精度,以米為單位
  • coords.heading. 宿主設備的當前移動方向,以度為單位,相對于正北方向順時針方向計算
  • coords.speed. 設備的當前對地速度,以米/秒為單位

這里只有 3 個屬性是必需的:coords.latitude、coords.longitude  coords.accuracy。其他屬性返回 null,取決于設備及其交互的后端定位服務器的功能。heading  speed 屬性是基于用戶的前一個位置計算的(如果有)。

穩定

產品高可用性高并發

貼心

項目群及時溝通

專業

產品經理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽

堅持

10年專注高端品質開發
  • 返回頂部
主站蜘蛛池模板: 污污网站观看 | 欧美国产小视频 | 亚洲系列 | 殴美黄色| 成年偏黄网站站免费 | 干妞网免费视频 | 看的免费污污网站 | 日本午色www高清视频 | 日韩欧美亚洲每日更新网 | 成人精品亚洲 | 午夜手机视频 | 人人草人人爽 | 国产精品日韩欧美 | 欧美一级大片在线观看 | 无遮挡动漫黄漫网站在线观看 | 黄色一区二区三区 | 大陆60老妇xxxxhd | 曰批全过程免费视频网址 | 一个人看的免费高清www视频 | 播放欧亚一级特黄录像 | 丝袜美女在线观看 | 在线观看黄p免费 | 日韩欧美一区二区三区不卡在线 | 国产精品2022最新在线观看 | 国产精品久久久久久夜夜夜夜 | 成年网站在线在免费播放 | 中文字幕视频在线观看 | 一本大道香蕉大无线视频 | 日韩黄漫啪啪免费动漫 | 国产成人在线视频观看 | 亚洲专区路线一路线二 | 伦理网站在线播放视频 | 伦理剧网址在线播放 | 久久精品国产免费一区 | 欧美在线视频你懂的 | 成人羞羞视频播放网站 | 欧美高清在线视频在线99精品 | 成人在免费视频手机观看网站 | 高清免费a级在线观看国产 高清潢色大片 | 涩涩视频免费看 | 欧美在线视频播放 |