الدعم

تسرد هذه الصفحة المشاكل المعروفة والحلول البديلة للخرائط المتّجهة وميزات 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 آليًا.

التوافق مع الويب على الأجهزة الجوّالة

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

الأخطاء

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

  • هناك مشكلة معروفة في 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 لمقارنة الخرائط المتّجهة بالخرائط بتنسيق النقطة، يُرجى مشاركة أي ملاحظات تتلقّاها عن الأداء، لأنّها ستساعدنا كثيرًا في تحسين الميزة.