الدعم

تسرد هذه الصفحة المشكلات المعروفة والحلول البديلة لخرائط المتجهات وميزات WebGL.

التوافق مع المتصفّحات/الأجهزة

تتوافق معاينة ميزة WebGL مع المتصفحات والأجهزة نفسها التي تتوافق مع Maps JavaScript API. للتحقق مما إذا كان المتصفح على جهاز معين يتوافق مع WebGL، يمكنك الانتقال إلى get.webgl.org أو caniuse.com. يُرجى أيضًا التأكد من تفعيل تسريع الأجهزة في إعدادات المتصفح، وإلا ستعود خرائط المتجه إلى نقطية.

صورة نقطية أم متجهة؟

في بعض الأحيان، قد تعود خريطة المتجه إلى صورة نقطية. عندما يحدث هذا، لا تكون الميزات اعتمادًا على خريطة المتجه. قد يحدث الرجوع للخريطة النقطية لمجموعة متنوعة من الأسباب. يوضح لك هذا القسم كيفية تهيئة متصفح الويب بشكل صحيح، وكيفية التحقق آليًا من وجود قدرة خريطة المتجهات.

التحقّق من إمكانات المتصفِّح على Chrome

لتحديد إمكانات تسريع الأجهزة التي تم تفعيلها في عملية تثبيت محدّدة لمتصفِّح Chrome، انتقِل إلى chrome://gpu/، وتأكَّد من تفعيل العناصر التالية (باللون الأخضر):

  • "OpenGL: مفعَّل"
  • "WebGL: تسريع الأجهزة"
  • "WebGL2: تسريع الأجهزة"

(هذه ليست سوى متطلبات أساسية، وقد تكون هناك عوامل أخرى تؤثر في الحصول على الدعم. يُرجى الاطّلاع على "الأخطاء المعروفة" أدناه).

تفعيل ميزة "تسريع الأجهزة"

لإتاحة خرائط المتجهات، يجب تفعيل ميزة تسريع الأجهزة في معظم المتصفحات. لتفعيل ميزة "تسريع الأجهزة" في Chrome وMicrosoft Edge، افتح الإعدادات واختَر النظام وتأكَّد من تفعيل خيار استخدام ميزة "تسريع الأجهزة" عند توفرها.

البحث آليًا عن خط نقطي أو متجه

يمكنك التحقق آليًا مما إذا كانت الخريطة نقطية أو متجهة، من خلال استدعاء map.getRenderingType(). يعرض المثال التالي رمزًا برمجيًا لمراقبة حدث renderingtype_changed، ويعرض نافذة معلومات تعرض ما إذا كانت الخريطة النقطية أو المتجهة قيد الاستخدام.

TypeScript

/**
 * This example creates a map with an info window that shows whether
 * the map render type is raster or vector.
 */

 function initMap() {
    const center = {lat: 0, lng: 0};
    const map = new google.maps.Map(document.getElementById('map') as HTMLElement, {
      center,
      zoom: 10,
      heading: 0.0,
      tilt: 0.0,
      // Map ID for a vector map.
      mapId: '6ff586e93e18149f',
    });
    const canvas = document.createElement("canvas");
    const infoWindow = new google.maps.InfoWindow({
      content: '',
      ariaLabel: 'Raster/Vector',
      position: center,
    });
    infoWindow.open({
      map,
    });

    map.addListener('renderingtype_changed', () => {
      infoWindow.setContent(`${map.getRenderingType()}`);
    });
  }

  declare global {
    interface Window {
      initMap: () => void;
    }
  }
  window.initMap = initMap;

JavaScript

/**
 * This example creates a map with an info window that shows whether
 * the map render type is raster or vector.
 */
function initMap() {
  const center = { lat: 0, lng: 0 };
  const map = new google.maps.Map(document.getElementById("map"), {
    center,
    zoom: 10,
    heading: 0.0,
    tilt: 0.0,
    // Map ID for a vector map.
    mapId: "6ff586e93e18149f",
  });
  const canvas = document.createElement("canvas");
  const infoWindow = new google.maps.InfoWindow({
    content: "",
    ariaLabel: "Raster/Vector",
    position: center,
  });

  infoWindow.open({
    map,
  });
  map.addListener("renderingtype_changed", () => {
    infoWindow.setContent(`${map.getRenderingType()}`);
  });
}

window.initMap = initMap;

يمكنك أيضًا استخدام سياق عرض WebGL للتحقق من التوافق مع WebGL 2:

const canvas = document.createElement("canvas");
canvas.getContext("webgl2") ? console.log("WebGL 2 is supported") : console.log("WebGL 2 is NOT supported");

تعرّف على طرق أخرى للاكتشاف الآلي لسياق عرض WebGL.

دعم الويب على الأجهزة الجوّالة

لا يزال دعم الويب على الأجهزة الجوّالة لخرائط المتجهات في مرحلة تجريبية. يمكن للمطوّرين استخدام واجهات برمجة التطبيقات الخاصة بالعميل لاكتشاف متصفحات الويب على الأجهزة الجوّالة واستخدام معرّف الخريطة المرتبط بخريطة نقطية بدلاً من خريطة متجهات. نتوقع أن يؤدي ذلك إلى تباطؤ أداء بعض الأجهزة الجوّالة. إذا اخترت استخدام خرائط المتجهات على الويب على الأجهزة الجوّالة، يسرّنا الحصول على إحصاءات الأداء والملاحظات. وكما أسلفنا، إذا لم يكن دعم خرائط المتجهات متاحًا، فسيعود معرف خريطة المتجه تلقائيًا إلى استخدام الخريطة النقطية.

Bugs

الأخطاء المعروفة

  • هناك مشكلة معروفة في متصفِّح Chrome على بعض أجهزة macOS التي تتضمّن وحدات معالجة رسومات من نوع AMD. قد يكون ذلك مربكًا بشكل خاص عندما يبدِّل نظام التشغيل macOS ديناميكيًا بين وحدات معالجة الرسومات على أجهزة تتضمّن عدة وحدات معالجة رسومات، لذلك قد لا تتوفّر خرائط المتجهات بناءً على التطبيقات الأخرى التي تستخدمها أو ما إذا كانت هناك شاشة خارجية متصلة. يبدو أن تشغيل الواجهة الخلفية القادمة لـ ANGLE Metal في Chrome يؤدي إلى إصلاح هذه المشكلة في بعض الحالات. يمكنك اتّباع خطط الطرح العامة لذلك على الرابط https://bugs.chromium.org/p/chromium/issues/detail?id=1322521.

الإبلاغ عن الأخطاء

  • يُرجى تحديث المتصفح وبرنامج تشغيل وحدة معالجة الرسومات إلى أحدث إصدار قبل الإبلاغ عن الخطأ.
  • يُرجى التأكّد من تفعيل إعدادات تسريع الأجهزة على chrome://settings/system (Chrome) وabout:preferences#general (Firefox) وedge://settings/system (Microsoft Edge). في Safari، يتم تفعيل هذا الإعداد تلقائيًا في الإصدار 10.15 من نظام التشغيل macOS أو الإصدارات الأحدث. بالنسبة إلى إصدارات MacOS القديمة، يُرجى الانتقال إلى إعدادات Safari المتقدّمة والتأكّد من تفعيل خيار "استخدام تسريع الأجهزة".
  • ضمِّن نموذج رابط رمز jsfiddle في تقرير الأخطاء.
  • يُرجى أيضًا أخذ لقطة شاشة من chrome://gpu (Chrome) أو about:support (Firefox) أو edge://gpu (Microsoft Edge)، مع إرفاق المعلومات ذات الصلة بوحدة معالجة الرسومات في تقرير الأخطاء إذا واجهت أي مشاكل في العرض.

إطلاعنا على رأيك

نحن نقدر ملاحظاتك حيث نسعى لتوفير أفضل تجربة خرائط متجهات لك وللمستخدمين النهائيين. يُرجى إعلامنا في الحالات التالية:

  • هناك أي أخطاء أو أخطاء/أعطال جديدة يتم رصدها في JavaScript في تطبيقات الويب.
  • يكون وقت استجابة بدء التشغيل لخرائط المتجهات أسوأ بكثير من وقت استجابة الخرائط النقطية. في هذه الحالة، تكون مقاييس تراجع وقت استجابة بدء التشغيل مفيدة للغاية. بشكل عام، نريد معرفة ما إذا كان وقت استجابة بدء التشغيل يتخطّى الحدود المقبولة.
  • تجربة خرائط المتجهات ليست سلسة كما ينبغي. إذا قمت بتسجيل عدد اللقطات في الثانية أو مقاييس الاحتمالية، فكيف تقارن بين خرائط المتجهات والخرائط النقطية؟
  • يختلف الأداء اختلافًا كبيرًا حسب المتصفح.

إذا كنت قد أعددت اختبار A/B للمقارنة بين خرائط المتجهات والخرائط النقطية، يُرجى مشاركة أي ملاحظات حول الأداء تحصل عليها، حيث سيكون ذلك مفيدًا للغاية لمساعدتنا في تحسين الميزة.