الدعم

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

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

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

هل هو ملف رسومات نقطية أم ملف رسومات متجهّة؟

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

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

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

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

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

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

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

التحقّق آليًا من الصور النقطية أو المتجهة

يمكنك التحقّق آليًا ممّا إذا كانت الخريطة Raster أو Vector، وذلك من خلال استدعاء map.getRenderingType(). يعرض المثال التالي رمزًا لتتبُّع حدث renderingtype_changed وعرض نافذة معلومات تعرِض ما إذا كان يتم استخدام ملف renderingtype_changedraster أو ملف renderingtype_changedvector map.

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 آليًا.

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

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

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