Maps JavaScript API 團隊會定期更新 API,包括新增功能、修正錯誤和提升效能。本頁面說明可在您應用程式中使用的 API 版本。
發布版本和版本號碼
在應用程式中,您可以指定發布版本或版本號碼:
- 每週版本是以
v=weekly
指定。
這個版本包含最新內容,每週更新一次。 - 每季版本是以
v=quarterly
指定。
這個版本帶來的影響最容易預測,每季更新一次。 - Beta 版是以
v=beta
指定。
這個版本以weekly
版本為基礎,每週更新一次,包含根據早期測試和意見回饋進行的額外修改項目。 - Alpha 版是以
v=alpha
指定。
這個版本以beta
版本為基礎,每週更新一次,包含實驗 (用來收集客戶對原型設計的意見回饋)。僅供開發使用,不得用於實際工作環境。 - 版本號碼是以
v=n.nn
指定。
您可以選用v=3.58
、v=3.57
、v=3.56
或v=3.55
。
版本號碼每季更新一次 (請參閱「每季更新」一節)。
如未明確指定版本,預設會收到每週版本。如果您是從付費方案轉移過來,且未指定版本,預設會收到每季版本。若指定的版本無效,您會收到預設版本。
選擇每週版本
針對大多數應用程式,我們建議指定每週版本。這是目前最新版本,內容包括最新錯誤修正和效能提升。如要指定每週版本,您可以使用下列指令碼標記載入 Maps JavaScript API:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: "weekly",
});
</script>
每週版本目前為 3.58 版。這個版本每週更新一次,會加入新功能、修正錯誤並提升效能。
每週版本將於 11 月中旬更新至 3.59 版。屆時,新版本可能會移除已淘汰的功能,並/或無法與舊版回溯相容。
選擇每季版本
對某些應用程式來說,減少更新次數但擴大更新規模的做法更好,因為這樣大幅提升了可預測性。我們建議這類應用程式使用每季版本。如果您希望能在預定時間修正錯誤及提升效能,不妨使用這種做法 (請參閱「每季更新」一節)。如要指定每季版本,您可以使用下列指令碼標記載入 Maps JavaScript API:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: "quarterly",
});
</script>
每季版本目前為 3.57 版。在本季中,這個版本不會推出任何最新功能、錯誤修正或效能提升。我們可能會不時在這個版本中推出安全性錯誤修正。
每季版本將於 11 月中旬更新至 3.58 版。屆時,新版本會納入最新功能、移除已淘汰的功能,並/或無法與過去三個月的版本回溯相容。
選擇 Beta 版
使用 Beta 版即可體驗新的 Beta 版功能和變動內容。Beta 版功能完整,但可能有一些尚待解決的問題 (請使用 Issue Tracker 回報問題並提供意見回饋)。Beta 版不在任何服務水準協議或廢止政策的涵蓋範圍內,且部分變動內容可能無法與舊版回溯相容。
這個版本以 weekly
版本為基礎,每週更新一次,
如要指定 Beta 版,可使用下列指令碼標記載入 Maps JavaScript API:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: "beta",
});
</script>
選擇 Alpha 版
使用 Alpha 版測試新的實驗功能和變更項目。請使用 Issue Tracker 回報問題並提供意見回饋。Alpha 版不受任何服務水準協議或廢止政策規範,且部分變動內容可能無法與舊版回溯相容。僅供開發使用,不得用於實際工作環境。
這個版本以 beta
版本為基礎,每週更新一次。
如要指定 Alpha 版,可使用下列指令碼標記載入 Maps JavaScript API:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: "alpha",
});
</script>
選擇版本號碼
只有在會定期測試及更新應用程式時,才以數字來指明版本。這是因為每季都會推出新版本,有編號的版本最終會刪除。您可以使用下列指令碼標記,載入 Maps JavaScript API 來指定版本號碼:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: 3.57,
});
</script>
目前您可以指定 v=3.58
、v=3.57
、v=3.56
或 v=3.55
。
- 3.58 版每週更新一次,內容包含最新功能、錯誤修正和效能提升。
- 3.57 版不會每週更新。
- 3.56 版不會每週更新。
- 3.55 版不會每週更新。
- 任何版本都可能不時推出安全性錯誤修正。
- 我們可能會在建立新版本時,推出無法回溯相容的變動內容。
11 月中旬後,您就能指定 v=3.59
、v=3.58
、v=3.57
或 v=3.56
。
- 3.59 版每週更新一次,內容包含最新功能、錯誤修正和效能提升。
- 3.58 版不再會每週更新。
- 3.57 版不再每週更新。
- 3.56 版不再每週更新。
- 任何版本都可能不時推出安全性錯誤修正。
- 不再提供 3.55 版。如果您嘗試載入這個版本,系統會提供預設版本。
下圖顯示未來一年會推出的版本。
影響應用程式的更新內容
如果發布版本有所更新,您的應用程式可能會受到影響。這可能是因為應用程式使用未支援或已淘汰的功能,也可能是我們引進的錯誤/錯誤修正所導致。
您可以將應用程式設為改用舊版,做為暫時解決方法。
- 在瀏覽器開發人員工具中開啟控制台,並查看
google.maps.version
的值。 - 更新會載入 API 的指令碼標記,然後要求舊版號碼。
舉例來說,如果google.maps.version
為「3.58.2」,請在指令碼標記中使用v=3.57
。
這個暫時解決方法具有時效性。
這個暫時解決方法設定完畢後,您就有時間 (通常為 3 至 6 個月) 更新應用程式,改為停用未支援或已淘汰的功能,並將錯誤或錯誤修正納入考量。
然後,您必須還原為原始指令碼標記,才能載入 API。
每季更新
Maps JavaScript API 團隊每季會推出一個新版本,時間是在 2 月中旬、5 月中旬、8 月中旬和 11 月中旬。下次更新將於 11 月中旬推出。新的每週版本會提供 3.59 版,屆時其他版本也會更新。
每週版本更新
每週版本目前為 3.58 版。
每週版本將於 11 月中旬從 3.58 版更新至 3.59 版。屆時,新版本將納入最新功能、移除已淘汰的功能,並/或無法與舊版回溯相容。建議您在版本更新時,針對這些變動內容進行測試。
在整季中,新版本每週更新一次,內容包含最新功能、錯誤修正和效能提升。不會移除已淘汰的功能,也不會有回溯不相容的問題。
每季版本更新
每季版本目前為 3.57 版。
每季版本將於 11 月中旬從 3.57 版更新至 3.58 版。更新後,這個版本將納入最新功能、移除已淘汰的功能,並/或無法與過去三個月的版本回溯相容。建議您在版本更新時,針對這些變動內容進行測試。
在整季中,這個版本不會推出任何最新功能、錯誤修正和效能提升。不會移除已淘汰的功能,也不會有回溯不相容的問題。
版本更新
11 月中旬時,為因應新版本推出,版本號碼會更新。
3.59 版
3.59 版將在 11 月中旬推出。推出後,這個版本將納入最新功能、移除已淘汰的功能,並/或推出無法與 3.58 版回溯相容的內容。建議您在版本號碼變更後測試應用程式。
在本季中,新版本每週更新一次,內容包含最新功能、錯誤修正和效能提升。這個版本不會移除已淘汰的功能,且能與舊版回溯相容。
3.58 版
這個版本加入最新功能、移除已淘汰的功能,並/或推出無法與 3.57 版回溯相容的內容。建議您在版本號碼變更後測試應用程式。
11 月中旬後,這個版本就不會再推出包含最新功能、錯誤修正或效能提升的更新內容。這個版本不會移除已淘汰的功能,且能與舊版回溯相容。
3.57 版
這個版本加入最新功能、移除已淘汰的功能,並/或無法與 3.56 版回溯相容。建議您在版本號碼變更後測試應用程式。
這個版本不會再推出包含最新功能、錯誤修正或效能提升的更新內容。不會移除已淘汰的功能,也不會有回溯不相容的問題。
3.56 版
這個版本加入最新功能、移除已淘汰的功能,並/或推出無法與 3.55 版回溯相容的內容。建議您在版本號碼變更後測試應用程式。
這個版本不會再推出包含最新功能、錯誤修正或效能提升的更新內容。不會移除已淘汰的功能,也不會有回溯不相容的問題。
3.55 版
11 月中旬後,這個版本就會刪除,無法再使用。系統會略過嘗試載入這個版本的任何作業,改為提供預設版本。
版本支援
每季都有四個版本可供選擇,且全都受到支援。
版本檢查
如要進行偵錯,請在應用程式中使用 google.maps.version
屬性來取得最新版 Maps JavaScript API。下列程式碼範例會將 API 版本寫入瀏覽器控制台 (如要進一步瞭解瀏覽器控制台,請參閱「在瀏覽器中檢查錯誤」的指南)。
<!DOCTYPE html>
<html>
<head>
<title>Display Google Maps API Version</title>
</head>
<body>
<script>
function initMap() {
// Add your map here.
console.log('Google Maps API version: ' + google.maps.version);
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
defer></script>
</body>
</html>
API 版本的說明文件
開發人員指南會隨時提供每週版本的說明。
此外,每個版本都有單獨維護的參考資料:
- 3.58 版 API 參考資料 (每週版本)
- 3.57 版 API 參考資料 (每季版本)
- 3.56 版 API 參考資料
- 3.55 版 API 參考資料
- 3.0 版至 3.54 版已刪除。