نقل البيانات: وحدة "خرائط Google" في google.load

في 13 أكتوبر 2021، سنوقف الخدمة التي توفّر وحدة "خرائط Google" في google.load. هذا يعني أنّه بعد 13 تشرين الأول (أكتوبر) 2021، إذا حاولت استخدام وحدة "الخرائط" في google.load، سيظهر لك خطأ (الوحدة "الخرائط" غير متاحة)، ولن يتم تحميل أي خريطة. لتجنُّب حدوث أي مشاكل محتملة، عليك التبديل إلى أحد البدائل.

ما هو الإجراء الواجب اتّخاذه؟

أولاً، أزِل العلامة <script> التي تحمّل أداة التحميل google.load، ثم أزِل طلبات google.load. إذا كنت تستخدم Google Loader لأغراض أخرى، لا بأس من ترك علامة <script> الخاصة بأداة التحميل في مكانها.

بعد ذلك، نفِّذ طريقة جديدة لتحميل Maps JavaScript API (اختَر أحد الخيارَين التاليَين):

مثال حالي باستخدام Google Loader

يوضّح المثال التالي كيفية استخدام Google Loader حاليًا لتحميل Maps JavaScript API (هناك كتلتان من <script>):

قبل

<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load("maps", "3.exp", {
    "callback": initMap,
    "key": "YOUR_KEY",
    "libraries": "places,visualization"
});
function initMap() {
  // Google Maps JS API is loaded and available
}
</script>

عند استخدام هذا الأسلوب، يتم تحميل Maps JavaScript API في الوقت نفسه الذي يتم فيه تحميل الصفحة. لتنفيذ التحميل المضمّن، عليك أولاً استبدال العلامة <script> التي تحمّل www.google.com/jsapi ("قبل") بالعلامة <script> المعروضة في المثال التالي:

<script async src="https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap">
</script>

بعد ذلك، في رمز JavaScript، أزِل طلب الوظيفة google.load، لأنّه لم يعُد مطلوبًا. يوضّح المثال التالي دالة initMap() فارغة يتم استدعاؤها عند تحميل مكتبة "خرائط Google" بنجاح:

<script type='text/javascript'>
function initMap() {
  // Google Maps JS API is loaded and available
}
</script>

الاطّلاع على المستندات

التحميل الديناميكي من ملف JavaScript آخر

تتيح لك ميزة "التحميل الديناميكي" التحكّم في وقت تحميل Maps JavaScript API. على سبيل المثال، يمكنك الانتظار إلى أن ينقر المستخدم على زر أو ينفّذ إجراءً آخر قبل تحميل Maps JavaScript API. لتنفيذ التحميل الديناميكي، استبدِل أولاً علامة <script> التي تحمّل www.google.com/jsapi ("قبل") برمز برمجي لإضافة علامة <script> بشكل آلي، كما هو موضّح في المثال التالي:

var script = document.createElement('script');
script.src =
'https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap';
script.async=true;

بعد ذلك، أرفِق دالة رد الاتصال بعنصر النافذة على النحو التالي:

window.initMap = function() {
  // Google Maps JS API is loaded and available
};

أخيرًا، أضِف علامة <script> إلى عنوان الصفحة على النحو التالي:

document.head.appendChild(script);

الاطّلاع على المستندات