الدعم

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