版本管理

Maps JavaScript API 團隊會定期更新 API,包括新增功能、修正錯誤和提升效能。本頁面說明可在您應用程式中使用的 API 版本。

發布版本和版本號碼

在應用程式中,您可以指定發布版本或版本號碼:

  • 每週版本是以 v=weekly 指定。
    這個版本包含最新內容,每週更新一次。
  • 每季版本是以 v=quarterly 指定。
    這個版本帶來的影響最容易預測,每季更新一次。
  • Beta 版是以 v=beta 指定。
    這個版本以 weekly 版本為基礎,每週更新一次,包含根據早期測試和意見回饋進行的額外修改項目。
  • Alpha 版是以 v=alpha 指定。
    這個版本以 beta 版本為基礎,每週更新一次,包含實驗 (用來收集客戶對原型設計的意見回饋)。僅供開發使用,不得用於實際工作環境。
  • 版本號碼是以 v=n.nn 指定。
    您可以選用 v=3.58v=3.57v=3.56v=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.58v=3.57v=3.56v=3.55

  • 3.58 版每週更新一次,內容包含最新功能、錯誤修正和效能提升。
  • 3.57 版不會每週更新。
  • 3.56 版不會每週更新。
  • 3.55 版不會每週更新。
  • 任何版本都可能不時推出安全性錯誤修正。
  • 我們可能會在建立新版本時,推出無法回溯相容的變動內容。

11 月中旬後,您就能指定 v=3.59v=3.58v=3.57v=3.56

  • 3.59 版每週更新一次,內容包含最新功能、錯誤修正和效能提升。
  • 3.58 版不再會每週更新。
  • 3.57 版不再每週更新。
  • 3.56 版不再每週更新。
  • 任何版本都可能不時推出安全性錯誤修正。
  • 3.55 版將停止供應。如果您嘗試載入這個版本,系統會提供預設版本。

下圖顯示未來一年會推出的版本。

v=weekly v=quarterly v=3.nn v=3.nn-1 Aug 2024 Nov 2024 Feb 2025 May 2025 v3.55 v3.56 v3.56 v3.57 v3.57 v3.57 v3.58 v3.58 v3.58 v3.58 v3.59 v3.59 v3.59 v3.60 v3.60 v3.61

影響應用程式的更新內容

如果發布版本有所更新,您的應用程式可能會受到影響。這可能是因為應用程式使用未支援或已淘汰的功能,也可能是我們引進的錯誤/錯誤修正所導致。

您可以將應用程式設為改用舊版,做為暫時解決方法。

  1. 在瀏覽器開發人員工具中開啟控制台,並查看 google.maps.version 的值。
  2. 更新會載入 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 版本的說明文件

開發人員指南會隨時提供每週版本的說明。

此外,每個版本都有單獨維護的參考資料: