نسخه سازی

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

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

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

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

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

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

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

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

انتخاب کانال فصلی

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

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

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

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

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

در حال حاضر، می توانید v=3.59 ، v=3.58 ، v=3.57 یا v=3.56 را مشخص کنید.

  • نسخه 3.59 به‌روزرسانی‌های هفتگی را با ویژگی‌های جدید، رفع اشکال‌ها و بهبود عملکرد دریافت می‌کند.
  • نسخه 3.58 به روز رسانی هفتگی دریافت نمی کند.
  • نسخه 3.57 به روز رسانی هفتگی دریافت نمی کند.
  • نسخه 3.56 به روز رسانی هفتگی دریافت نمی کند.
  • ممکن است هر از گاهی رفع اشکال امنیتی را در هر نسخه ای معرفی کنیم.
  • ممکن است هنگام ایجاد یک نسخه جدید، تغییرات ناسازگار با عقب را معرفی کنیم.

بعد از اواسط فوریه، می‌توانید v=3.60 ، v=3.59 ، v=3.58 یا v=3.57 را مشخص کنید.

  • نسخه 3.60 به‌روزرسانی‌های هفتگی را با ویژگی‌های جدید، رفع اشکال‌ها و بهبود عملکرد دریافت می‌کند.
  • نسخه 3.59 دیگر به روز رسانی هفتگی را دریافت نخواهد کرد.
  • نسخه 3.58 دیگر به روز رسانی هفتگی را دریافت نخواهد کرد.
  • نسخه 3.57 دیگر به روز رسانی هفتگی را دریافت نخواهد کرد.
  • ممکن است هر از گاهی رفع اشکال امنیتی را در هر نسخه ای معرفی کنیم.
  • نسخه 3.56 دیگر در دسترس نخواهد بود. هر گونه تلاش برای بارگیری این نسخه نادیده گرفته می شود و به جای آن کانال پیش فرض خود را دریافت خواهید کرد.

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

v = هفتگی v = فصلنامه v=3.nn v=3.nn-1 نوامبر 2024 فوریه 2025 می 2025 آگوست 2025 نسخه 3.56 نسخه 3.57 نسخه 3.57 نسخه 3.58 نسخه 3.58 نسخه 3.58 نسخه 3.59 نسخه 3.59 نسخه 3.59 نسخه 3.59 نسخه 3.60 نسخه 3.60 نسخه 3.60 نسخه 3.61 نسخه 3.61 نسخه 3.62

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

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

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

  1. کنسول را در ابزارهای توسعه دهنده مرورگر خود باز کنید و به ارزش google.maps.version نگاه کنید.
  2. تگ اسکریپت را که API را بارگیری می کند به روز کنید و یک شماره نسخه قدیمی تر درخواست کنید .
    برای مثال، اگر google.maps.version "3.59.2" است، از v=3.58 در تگ اسکریپت خود استفاده کنید.
    این راه حل موقت فقط برای مدت زمان محدودی کار خواهد کرد.

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

سپس برای بارگیری API باید به تگ اسکریپت اصلی برگردید.

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

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

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

آپدیت هفتگی کانال

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

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

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

آپدیت سه ماهه کانال

کانال فصلی در حال حاضر به نسخه 3.58 اشاره می کند.

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

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

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

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

نسخه 3.60

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

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

نسخه 3.59

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

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

نسخه 3.58

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

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

نسخه 3.57

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

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

نسخه 3.56

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

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

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

بررسی نسخه

برای اشکال زدایی، از ویژگی 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

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

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