نسخه‌بندی

تیم Maps JavaScript API به‌طور مرتب میانای برنامه‌سازی کاربردی را با ویژگی‌های جدید، رفع اشکال، و بهبود عملکرد به‌روز می‌کند. این صفحه نسخه‌هایی از API را که برای استفاده در برنامه‌های شما دردسترس هستند شرح می‌دهد.

کانال‌های انتشار و شماره‌های نسخه

در برنامه‌تان می‌توانید کانال‌های انتشار یا شماره‌های نسخه را مشخص کنید:

  • کانال هفتگی با v=weekly مشخص شده است.
    این کانال هفته‌ای یک‌بار به‌روز می‌شود و جدیدترین کانال است.
  • کانال فصلی با v=quarterly مشخص می‌شود.
    این کانال هر سه‌ماه یک‌بار به‌روز می‌شود و قابل‌پیش‌بینی‌ترین کانال است.
  • کانال بتا با v=beta مشخص شده است.
    این کانال براساس کانال weekly است و هفته‌ای یک‌بار به‌روز می‌شود. این نسخه شامل تغییرات بیشتری برای آزمایش اولیه و بازخورد است.
  • کانال آلفا با v=alpha مشخص شده است.
    این کانال براساس کانال beta است و هفته‌ای یک‌بار به‌روز می‌شود. این شامل آزمایش‌هایی برای بازخورد مشتری درباره نمونه‌های اولیه است. این فقط برای اهداف توسعه است و نباید در تولید استفاده شود.
  • شماره نسخه با v=n.nn مشخص شده است.
    می‌توانید v=3.66، v=3.65، v=3.64، یا v=3.63 را انتخاب کنید.
    شماره‌های نسخه هر سه‌ماه یک‌بار به‌روزرسانی می‌شوند (به به‌روزرسانی‌های سه‌ماهه مراجعه کنید).

اگر کانال یا نسخه را به‌طور صریح مشخص نکنید، به‌طور پیش‌فرض کانال هفتگی را دریافت خواهید کرد. اگر از طرح ممتاز مهاجرت کرده‌اید و به‌طور صریح کانال یا نسخه‌ای را مشخص نکرده‌اید، به‌طور پیش‌فرض کانال فصلی را دریافت خواهید کرد. اگر نسخه نامعتبری را مشخص کنید، کانال پیش‌فرض خود را دریافت خواهید کرد.

انتخاب کانال هفتگی

برای اکثر برنامه‌ها، کانال هفتگی را توصیه می‌کنیم. این نسخه جدیدترین و به‌روزترین نسخه است و حاوی جدیدترین رفع اشکال‌ها و بهبودهای عملکرد است. می‌توانید کانال هفتگی را با بار کردن 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>
  

درحال‌حاضر، کانال هفتگی نسخه ۳.۶۶ است. این نسخه به‌طور هفتگی با ویژگی‌های جدید، رفع اشکال، و بهبود عملکرد به‌روز می‌شود.

در اواسط نوامبر، کانال هفتگی به نسخه ۳.۶۷ به‌روزرسانی خواهد شد. در آن زمان، نسخه جدید ممکن است ویژگی‌های منسوخ‌شده را حذف کند و/یا ناسازگاری‌های پس‌نگر معرفی کند.

انتخاب کانال سه‌ماهه

برخی‌از برنامه‌ها ممکن است از به‌روزرسانی‌های کمتر اما بزرگ‌تر بهره‌مند شوند، زیرا این کار قابلیت پیش‌بینی بیشتری را فراهم می‌کند. این برنامه‌ها باید از کانال فصلی استفاده کنند. اگر می‌خواهید رفع اشکال‌ها و بهبودهای عملکرد در زمان موردانتظار ارائه شود، از این رویکرد استفاده کنید (به‌روزرسانی‌های فصلی را ببینید). می‌توانید کانال فصلی را با بار کردن 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>

درحال‌حاضر، کانال سه‌ماهه نسخه ۳.۶۵ است. درطول این سه‌ماهه، این نسخه ویژگی‌های جدید، رفع اشکال، یا بهبود عملکرد دریافت نمی‌کند. ممکن است هرچندوقت یکبار، رفع اشکال‌های امنیتی را در این نسخه معرفی کنیم.

در اواسط نوامبر، کانال فصلی به نسخه ۳.۶۶ به‌روزرسانی خواهد شد. در آن زمان، نسخه جدید شامل ویژگی‌های جدید خواهد بود، ویژگی‌های منسوخ‌شده را حذف خواهد کرد، و/یا ناسازگاری‌های پس‌رو را از سه ماه گذشته معرفی خواهد کرد.

انتخاب کانال بتا

از کانال بتا برای امتحان کردن ویژگی‌ها و تغییرات جدید بتا استفاده کنید. ویژگی‌های بتا ویژگی‌های کاملی هستند اما ممکن است برخی مشکلات حل‌نشده داشته باشند (لطفاً از Issue Tracker برای گزارش مشکلات و ارائه بازخورد استفاده کنید). کانال بتا تحت پوشش هیچ‌گونه قرارداد سطح خدمات یا خط‌مشی منسوخ کردن نیست و برخی‌از تغییرات ممکن است با نسخه‌های قبلی سازگار با نسخه قدیمی نباشد.

این کانال براساس کانال weekly است و هفته‌ای یک‌بار به‌روز می‌شود.

می‌توانید کانال بتا را با بار کردن 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>

انتخاب کانال آلفا

از کانال آلفا برای امتحان کردن ویژگی‌ها و تغییرات آزمایشی جدید استفاده کنید. لطفاً از Issue Tracker برای گزارش کردن مشکلات و ارائه بازخورد استفاده کنید. کانال آلفا تحت پوشش هیچ SLA یا خط‌مشی منسوخ کردن نیست و برخی‌از تغییرات ممکن است با نسخه‌های قبلی سازگار نباشد. این فقط برای اهداف توسعه است و نباید در تولید استفاده شود.

این کانال براساس کانال 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: "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.65,
  });
  </script>

درحال‌حاضر، می‌توانید v=3.66، v=3.65، v=3.64، یا v=3.63 را مشخص کنید.

  • نسخه ۳.۶۶ به‌روزرسانی‌های هفتگی با ویژگی‌های جدید، رفع اشکال، و بهبود عملکرد دریافت می‌کند.
  • نسخه ۳.۶۵ به‌روزرسانی‌های هفتگی را دریافت نمی‌کند.
  • نسخه ۳.۶۴ به‌روزرسانی‌های هفتگی را دریافت نمی‌کند.
  • نسخه ۳.۶۳ به‌روزرسانی‌های هفتگی را دریافت نمی‌کند.
  • ممکن است هرچندوقت یک‌بار، رفع اشکال‌های امنیتی را در هر نسخه‌ای معرفی کنیم.
  • ممکن است هنگام ایجاد نسخه جدید، تغییرات ناسازگار با نسخه‌های قبلی را معرفی کنیم.

پس‌از اواسط نوامبر، می‌توانید v=3.67، v=3.66، v=3.65، یا v=3.64 را مشخص کنید.

  • نسخه ۳.۶۷ به‌روزرسانی‌های هفتگی را با ویژگی‌های جدید، رفع اشکال‌ها، و بهبود عملکرد دریافت خواهد کرد.
  • نسخه ۳.۶۶ دیگر به‌روزرسانی‌های هفتگی را دریافت نخواهد کرد.
  • نسخه ۳.۶۵ دیگر به‌روزرسانی‌های هفتگی را دریافت نخواهد کرد.
  • نسخه ۳.۶۴ دیگر به‌روزرسانی‌های هفتگی را دریافت نخواهد کرد.
  • ممکن است هرچندوقت یک‌بار، رفع اشکال‌های امنیتی را در هر نسخه‌ای معرفی کنیم.
  • نسخه ۳.۶۳ دیگر دردسترس نخواهد بود. هرگونه تلاش برای بار کردن این نسخه نادیده گرفته خواهد شد و به‌جای آن کانال پیش‌فرضتان را دریافت خواهید کرد.

نمودار زیر نشان می‌دهد کدام نسخه‌ها در سال آینده در هر کانال دردسترس خواهند بود.

v=weekly v=quarterly v=3.nn v=3.nn-1 اوت ۲۰۲۶ نوامبر ۲۰۲۶ فوریه ۲۰۲۷ مه ۲۰۲۷ v3.63 v3.64 v3.64 v3.65 v3.65 v3.65 v3.66 v3.66 v3.66 v3.66 v3.67 v3.67 v3.67 v3.68 v3.68 v3.69

به‌روزرسانی‌ای بر برنامه من تأثیر گذاشته است

وقتی کانال‌های انتشار را به‌روز می‌کنیم، ممکن است بر برنامه شما تأثیر بگذارد. این امر ممکن است به این دلیل رخ دهد که برنامه شما به ویژگی‌های غیرمستند یا منسوخ‌شده متکی است، یا به‌دلیل اشکال یا رفع اشکالی که معرفی کرده‌ایم.

به‌عنوان یک راه حل موقت، می‌توانید برنامه‌تان را برای استفاده از نسخه قدیمی‌تر دوباره پیکربندی کنید.

  1. کنسول را در ابزارهای توسعه‌دهنده مرورگرتان باز کنید و مقدار google.maps.version را ببینید.
  2. برچسب دستورگان را که API را بار می‌کند به‌روز کنید و شماره نسخه قدیمی‌تری را درخواست کنید.
    برای مثال، اگر google.maps.version «3.66.2» است، از v=3.65 در برچسب دستورگان خود استفاده کنید.
    این راه‌حل موقت فقط برای مدت محدودی کار خواهد کرد.

پس‌از اعمال راه‌حل موقت، زمان خواهید داشت (معمولاً ۳ تا ۶ ماه) تا برنامه‌تان را به‌روز کنید تا دیگر از ویژگی‌های غیرمستند یا منسوخ استفاده نکند و اشکال‌ها یا رفع اشکال‌ها را درنظر بگیرد.

سپس باید به برچسب دستورگان اصلی برگردید تا میانای برنامه‌سازی کاربردی بار شود.

همچنین می‌توانید پرونده پشتیبانی ایجاد کنید یا مشکلی را گزارش کنید.

به‌روزرسانی‌های فصلی

تیم Maps JavaScript API هر سه‌ماه یک‌بار نسخه جدیدی را منتشر می‌کند. این اتفاق در اواسط فوریه، اواسط مه، اواسط اوت، و اواسط نوامبر رخ می‌دهد. به‌روزرسانی بعدی اواسط نوامبر خواهد بود. کانال هفتگی جدید نسخه ۳.۶۷ را ارائه خواهد کرد، و در آن زمان کانال‌های دیگر به‌روز خواهند شد.

به‌روزرسانی هفتگی کانال

کانال هفتگی درحال‌حاضر به نسخه ۳.۶۶ اشاره می‌کند.

در اواسط نوامبر، کانال هفتگی از نسخه ۳.۶۶ به نسخه ۳.۶۷ به‌روزرسانی خواهد شد. در این مرحله، نسخه جدید شامل ویژگی‌های جدید خواهد بود، ویژگی‌های منسوخ‌شده را حذف می‌کند، و/یا ناسازگاری‌های پس‌رو را معرفی می‌کند. ممکن است لازم باشد این تغییرات را هنگام به‌روزرسانی کانال آزمایش کنید.

درطول این سه‌ماهه، نسخه جدید به‌طور هفتگی با ویژگی‌های جدید، رفع اشکال، و بهبود عملکرد به‌روزرسانی خواهد شد. این نسخه ویژگی‌های منسوخ‌شده را حذف نمی‌کند و ناسازگاری‌های پس‌رو ایجاد نمی‌کند.

به‌روزرسانی سه‌ماهه کانال

کانال فصلی درحال‌حاضر به نسخه ۳.۶۵ اشاره می‌کند.

در اواسط نوامبر، کانال فصلی از نسخه ۳.۶۵ به نسخه ۳.۶۶ به‌روزرسانی خواهد شد. پس‌از به‌روزرسانی، این نسخه شامل ویژگی‌های جدید خواهد بود، ویژگی‌های منسوخ‌شده را حذف خواهد کرد، و/یا ناسازگاری‌های پس‌رو را از سه ماه گذشته معرفی خواهد کرد. ممکن است لازم باشد این تغییرات را هنگام به‌روزرسانی کانال آزمایش کنید.

درطول این سه‌ماهه، این نسخه شامل ویژگی‌های جدید، رفع اشکال، یا بهبود عملکرد نخواهد بود. این نسخه ویژگی‌های منسوخ‌شده را حذف نمی‌کند و ناسازگاری‌های پس‌رو ایجاد نمی‌کند.

به‌روزرسانی‌های نسخه

در اواسط نوامبر، شماره‌های نسخه برای انتشار نسخه جدید تغییر می‌کند.

نسخه ۳.۶۷

نسخه جدید 3.67 در اواسط نوامبر منتشر خواهد شد. این نسخه پس‌از انتشار شامل ویژگی‌های جدید خواهد بود، ویژگی‌های منسوخ‌شده را برمی‌دارد، و/یا ناسازگاری‌های پس‌رو نسبت‌به نسخه ۳.۶۶ معرفی می‌کند. هنگام تغییر شماره نسخه، باید برنامه‌تان را آزمایش کنید.

درطول این سه‌ماهه، نسخه جدید به‌طور هفتگی با ویژگی‌های جدید، رفع اشکال، و بهبود عملکرد به‌روزرسانی خواهد شد. این نسخه ویژگی‌های منسوخ‌شده را حذف نمی‌کند و ناسازگاری‌های پس‌رو ایجاد نمی‌کند.

نسخه ۳.۶۶

این نسخه شامل ویژگی‌های جدید است، ویژگی‌های منسوخ‌شده را حذف می‌کند، و/یا ناسازگاری‌های پس‌رو را در مقایسه با نسخه ۳.۶۵ معرفی می‌کند. هنگام تغییر شماره نسخه، باید برنامه‌تان را آزمایش کنید.

پس‌از اواسط نوامبر، این نسخه دیگر با ویژگی‌های جدید، رفع اشکال، یا بهبود عملکرد به‌روز نخواهد شد. این نسخه ویژگی‌های منسوخ‌شده را حذف نمی‌کند و ناسازگاری‌های پس‌رو ایجاد نمی‌کند.

نسخه ۳٫۶۵

این نسخه شامل ویژگی‌های جدید است، ویژگی‌های منسوخ‌شده را حذف می‌کند، و/یا ناسازگاری‌های پس‌رو را در مقایسه با نسخه ۳.۶۴ معرفی می‌کند. هنگام تغییر شماره نسخه، باید برنامه‌تان را آزمایش کنید.

این نسخه دیگر با ویژگی‌های جدید، رفع اشکال، یا بهبود عملکرد به‌روز نخواهد شد. ویژگی‌های منسوخ‌شده پس‌از این نسخه را برنمی‌دارد و ناسازگاری‌های جدید با نسخه‌های قبلی ایجاد نمی‌کند.

نسخه ۳.۶۴

این نسخه شامل ویژگی‌های جدید است، ویژگی‌های منسوخ‌شده را حذف می‌کند، و/یا ناسازگاری‌های پس‌رو نسبت‌به نسخه ۳.۶۳ معرفی می‌کند. هنگام تغییر شماره نسخه، باید برنامه‌تان را آزمایش کنید.

این نسخه دیگر با ویژگی‌های جدید، رفع اشکال، یا بهبود عملکرد به‌روز نخواهد شد. ویژگی‌های منسوخ‌شده پس‌از این نسخه را برنمی‌دارد و ناسازگاری‌های جدید با نسخه‌های قبلی ایجاد نمی‌کند.

نسخه ۳.۶۳

پس‌از اواسط نوامبر، این نسخه حذف خواهد شد و دیگر قابل‌استفاده نخواهد بود. هرگونه تلاش برای بار کردن این نسخه نادیده گرفته خواهد شد و به‌جای آن، کانال پیش‌فرضتان را دریافت خواهید کرد.

پشتیبانی نسخه

در هر فصل، چهار نسخه دردسترس است. هر چهار نسخه پشتیبانی می‌شوند.

بررسی‌های نسخه

برای اشکال‌زدایی، از ویژگی google.maps.version برای دریافت نسخه فعلی Maps JavaScript 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>

مستندات نسخه‌های میانای برنامه‌سازی کاربردی

راهنمای توسعه‌دهنده همیشه نسخه هفتگی را شرح می‌دهد.

علاوه‌براین، برای هر نسخه یک مرجع جداگانه نگهداری می‌شود: