أكثر

OpenLayers + MapServer - العثور على سبب للبلاط العشوائي المفقود

OpenLayers + MapServer - العثور على سبب للبلاط العشوائي المفقود


أقوم باختبار تطبيق تم تطويره في OpenLayers 2.13 مع Chrome ، وأنا أستخدم MapServer كموفر خرائط.

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

يعمل MapServer على سطح مكتب i7 مخصص مع 16 جيجابايت من ذاكرة الوصول العشوائي. لا أفهم ما إذا كانت مشكلة في الأجهزة أو مشكلة في البرامج أو مشكلة في معالجة الأحمال.

لقد وجدت بعض الروابط التي تحدد الحل لإخفاء الصورة الوردية XYZ Layer في OpenLayers بها بلاطات مفقودة

لكني مهتم بمعرفة سبب فقد البلاط؟ ما هي العوامل المحتملة التي تسبب فقدان البلاط.

تحديث

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


في Firefox ، يمكنك النقر بزر الماوس الأيمن على المربع الفارغ واختيار "فتح صورة في علامة تبويب جديدة" لمعرفة ما إذا كان يتم عرضها خارج التطبيق الخاص بك. بصرف النظر عن ذلك ، يمكنك تجربة هذا لمعرفة ما إذا كان هناك خطأ في تحميل الصورة: OpenLayers.Util.onImageLoadError = function () {console.log ("error")؛}؛

أو استخدم فئة CSS:

.olImageLoadError {/ * عندما يحصل OL على خطأ 404 ضع علامة على البلاط بحد أحمر * / border: 3px أحمر خالص ؛ }

لأغراض الاختبار ، يمكنك فقط تحميل طبقتك في QGIS واختبار ما إذا كان هناك أيضًا بلاطات مفقودة


شاهد الفيديو: Webmapping MapServerPostGISPgRoutingOpenLayersGeoExtPHP