什么是 API?

API(應用程序接口)是兩個程序或應用程序之間的橋梁。它允許不同的程序互相發送數據。

例如,如果我是一個應用程序的設計師,想讓其他開發者可以訪問我的應用數據,我會創建一個接口,讓其他應用程序通過這個接口來獲取或操作我的數據。


實例:國際空間站 API

我將使用 WhereTheISS.at 提供的 API,它返回當前 國際空間站的經緯度,并包含其它信息如 高度速度 等。我們將僅僅展示經緯度,并使用 Leaflet.js 庫將其顯示在地圖上。


JSON 數據格式介紹

在進行這項工作之前,我們需要了解 JSON(JavaScript Object Notation),它是一種用于存儲和交換數據的格式,易于人類閱讀和編寫,也便于機器解析。


JavaScript 對象與 JSON


我們先來看一個簡單的 JavaScript 對象,它的格式和 JSON 很相似。通過這個對象,我們可以更容易理解如何從 API 中提取數據。

例如:

let position = {
  latitude: -45,
  longitude: 112
};

編寫代碼提取數據

現在,讓我們編寫代碼,通過 fetch() 函數從 WhereTheISS.at API 獲取數據。數據返回后,我們將其轉換為 JSON 格式,提取 latitudelongitude,并顯示在網頁上。

let position = {
  latitude: -45,
  longitude: 112
};

console.log(position);

從 API 獲取數據


我們將通過以下 API 端點來獲取 國際空間站的實時位置

https://api.wheretheiss.at/v1/satellites/25544

理解 API 文檔與端點

首先,了解 API 文檔是非常重要的。文檔中會描述如何訪問不同的端點,獲得相應的數據。這里我們看到,API 沒有要求身份驗證,適合新手使用。


解析 JSON 數據

通過這個 API,我們獲取的數據是 JSON 格式的。為了解析 JSON 數據,我們需要將其轉換成 JavaScript 對象,才能從中提取信息。


獲取和顯示數據


當數據被成功獲取并轉換成 JSON 后,我們可以提取 latitudelongitude 并在網頁中展示它們。

document.getElementById('lat').textContent = latitude;
document.getElementById('lon').textContent = longitude;

地圖展示:下一步計劃

在接下來的步驟中,我將使用 Leaflet.js 庫將這些經緯度數據標注在地圖上,從而直觀地展示國際空間站的實時位置。


格式化 JSON 數據


當我們請求 API 返回的 JSON 數據時,可能會看到無格式的原始數據。為了更好地閱讀和理解,可以使用瀏覽器插件來格式化這些數據。


編寫異步函數獲取數據


我將編寫一個異步函數來獲取數據,并通過 async/await 語法確保我們的數據獲取順利進行。


使用 JavaScript 解構賦值

通過 JavaScript 解構賦值,我們可以將返回的數據中的 latitudelongitude 提取到單獨的變量中,方便后續處理。

const { latitude, longitude } = data;

在網頁中顯示經緯度


我們將在網頁上創建 HTML 元素來顯示 latitudelongitude。每次頁面刷新時,都會從 API 獲取最新數據。

< h1>Where is the ISS? < /h1 >
< p > Latitude: < span id="lat" > < /span > < /p >
< p > Longitude: < span id="lon" > < /span > < /p >

接下來:地圖和定時更新

接下來,我將實現將這些數據繪制在地圖上,并使用定時器每隔一定時間更新這些數據。你也可以嘗試為這個項目增加更多功能,如顯示 速度 或添加其它 API


總結與展望

到目前為止,我們已經成功地從外部 API 獲取數據,并將其顯示在網頁上。接下來,我們將進一步拓展這個項目,展示如何在地圖上實時顯示國際空間站的位置。

原文引自YouTube視頻:https://www.youtube.com/watch?v=uxf0–uiX0I

上一篇:

深入理解 JavaScript 中的事件循環

下一篇:

React 狀態管理:從基礎到 Context API 實戰
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費