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

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

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

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

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

المثال الحالي الذي يستخدم أداة تحميل Google

يوضح المثال التالي كيفية استخدام Google Loader حاليًا لتحميل واجهة برمجة تطبيقات JavaScript للخرائط (هناك كتلتان <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 ("before") بالعلامة <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() فارغة، والتي يتم استدعاؤها عند تحميل مكتبة الخرائط بنجاح:

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

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

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

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

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