أكثر

OSM - مشكلة طبقة صورة OpenLayers 3

OSM - مشكلة طبقة صورة OpenLayers 3


أواجه حاليًا مشكلة في صورتي على OSM عبر OpenLayers. يمكنني تقديم صورتي في المكان الصحيح (تقريبًا هناك بالضبط حيث أريدها).
تكمن المشكلة في أنه أثناء التكبير أو التصغير ، تغير الصورة موقعها وكيف يجب أن تبدو. على مستوى التكبير الذي أضعه ، تبدو الصورة كما لو كانت.

هذا هو الكود الذي أستخدمه لإظهار صورتي في الموقع الصحيح:

var layer = [new ol.layer.Tile ({source: new ol.source.MapQuest ({layer: 'osm'})})، new ol.layer.Image ({range: [1447153.38031، 5780349.22026، 2003750.83428، 6446275.84102 ] ، المصدر: new ol.source.ImageWMS ({url: 'file: /// C: /Users/Xhy/Desktop/linear.png "> http://cs2cs.mygeodata.eu/

الكود التالي ، هو كيف تظهر الطبقات الخاصة بي على الخريطة:

var map = new ol.Map ({layer: layer، target: 'map'، view: new ol.View ({center: [1728012.45558،5982976.33295]، zoom: 7})})؛

المركز موجود أيضًا في Google Transverse Mercator ، وقمت أيضًا بتعيين مستوى التكبير على 7.

الناتج الذي أحصل عليه هو تقريبًا ما أريد:

عندما أقوم بالتكبير ، يتغير:

عندما أقوم بالتكبير مرة أخرى ، يكون التغيير جذريًا ، والصورة في مكان آخر تمامًا:


لذا فإن سؤالي هو ، كيف يمكنني ربط صورتي في الموقع الصحيح دون تغييرها أثناء التكبير؟ هل يتعين علي تعيين الحد المختلف لكل مستوى تكبير / تصغير؟

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


جرب أتنبؤ:للخريطة ، أو على الأقل لمصدر الصورة.

€: لاستيراد صورة غير محددة جغرافيًا ، تحتاج إلى تغيير المصدر إلىol.source.imageStatic ()راجع http://jsfiddle.net/k7yybgLm/1/ للحصول على مثال مع wms وتراكب ثابت.

2 يورو: تعتمد إحداثيات صورتك الثابتة بشكل أو بآخر على حجم (عرض / ارتفاع) صورتك والمكان الذي تريد وضعها فيه.

أنت تحدد الموقع معامتداد الصورة: [يسار ، أسفل ، يمين ، أعلى]في الخاص بكol.source.imageStatic ().

لا أستطيع أن أخبرك كيف تحصل على حدودك - أنا مجرد مثال. يمكنك إما تعيين الامتدادات حيث تحتاج إليها ، أو تقوم بتحويل إحداثياتك إذا كانت الصورة تأتي من مصدر مرجعي.

fyi: يجب أن تعكس الحدود نسب المصدر ، أي إذا حاولت[1850000, 6100000, 1950000, 6150000]بدلا من[1850000, 6100000, 1950000, 6200000]في الكمان ، لن يضغط على الصورة لأن src هي 500 بكسل مربع.

امل ان يساعد.


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