أكثر

حافظ على خريطة OpenLayers 3 من تجاوز خط التاريخ

حافظ على خريطة OpenLayers 3 من تجاوز خط التاريخ


لدي خريطة OL3 تكرر نفسها باستمرار. لقد احتوت على طبقات WMS ، على الرغم من أن طبقات المتجهات تحب التكرار. المهم حقًا هو منع المستخدم من الانتقال إلى أي مكان ، أي منع المستخدم من التمرير عبر الأعمدة وخط التاريخ. لقد أضفت نطاقًا إلى العرض ولكنه لا يزال يضيف بعض الخرائط إلى ما بعد خط التاريخ والأعمدة. أي فكرة عن كيفية منع هذا؟

عرض: عرض ol.View جديد ({center: [0، 0] تكبير / تصغير: 8، minZoom: 2، maxZoom: 13، مدى: [-20037508.34، -20037508.34، 20037508.34، 20037508.34]})

هو الكود الخاص بي الحالي

تحرير: الحلول من الأسئلة السابقة كلها OpenLayers 2. OpenLayers 3 هو إطار عمل مختلف تمامًا لا يشارك أي شيء تقريبًا خارج الاسم.


لإيقاف الالتفاف ، اضبطرابكسto false لكل مصدر طبقة.

المدى الذي تم تكوينه في العرض يقيد مركز الخريطة. لتقييد المدى ، يمكنك فعل شيء مثل

map.on ('postrender'، function () {var view = map.getView ()؛ var zoom = view.getZoom ()؛ var worldExtent = view.getProject (). getExtent ()؛ var range = view.calculateExtent ( map.getSize ())؛ if (! ol.extent.containsExtent (worldExtent، range)) {var newExtent = ol.extent.getIntersection (range، limitedExtent)؛ view.fit (newExtent، map.getSize ())؛} }) ؛

راجع أيضًا https://github.com/openlayers/ol3/pull/2777 للحصول على طلب سحب يتيح القيام بذلك بطريقة أفضل.


انتهى بي الأمر فقط باستخدام الحدود -180،75،180 ، -75 وقبول بعض التفاف خط التاريخ وعدم القدرة على استخدام جزء من الشمال والجنوب. محبط للغاية لعدم وجود حد أقصى في 3.10.1. يبدو وكأنه عيب كبير. التفاف الخريطة قبيح وكذلك وجود مساحة بيضاء.


شاهد الفيديو: Tutorial OpenLayers 3 - Parte 8