في 13 أكتوبر 2021، سنوقف الخدمة التي توفّر وحدة "خرائط Google"
لـ google.load.
يعني ذلك أنّه بعد 13 أكتوبر 2021، إذا حاولت استخدام وحدة "خرائط Google" في google.load، سيظهر لك خطأ (الوحدة "خرائط Google" غير متاحة) ولن يتم تحميل أي خريطة. لمساعدتك في تجنُّب أي أعطال محتملة، عليك التبديل إلى أحد البدائل.
ما هو الإجراء الواجب اتّخاذه؟
أولاً، عليك إزالة علامة <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>
التحميل المضمّن باستخدام علامة <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);