ওপ্লেলেয়ার্স 3 ম্যাক এক্সটেন্ট


15

ব্যবহারকারী মানচিত্রে কোথায় প্যান করতে পারবেন তা সীমাবদ্ধ রাখতে চাই, তবে আমি এমন কোনও সংস্থান খুঁজে পাচ্ছি না যা ওপেনলায়ার্স 3-এ মানচিত্রের সীমাবদ্ধতার সীমাবদ্ধতা কীভাবে সেট করতে হবে তা জানায় 3. নতুন সংস্করণে এটি সম্ভব?

উত্তর:


18

এটি কেবলমাত্র extentভিউ অবজেক্টে সংজ্ঞায়নের মাধ্যমে করা যেতে পারে । যেমন

var view = new ol.View({
    ...
    extent: [minx,miny,maxx,maxy]
    ...
});
var map = new ol.Map({
    ...
    view: view,
    ...
});


অনেকগুলি নথিভুক্ত করা হয় না, বা পরীক্ষামূলক হয় এবং কেবল তখনই দৃশ্যমান হয় যখন
স্থিতি

4
এটি একটি বাস্তব পরিমাণ নয়। এটি কেবল এক্সটেন্টগুলি দেখার মধ্যে রাখে, এর অর্থ হ'ল চারপাশে কুৎসিত সাদা স্থান রয়েছে।
মিশেল ইনগ্রাম

এদিকে, extentএকটি সঠিক নথিভুক্ত বৈশিষ্ট্য হয়ে উঠেছে: openlayers.org/en/latest/apidoc/module-ol_View-View.html (এই প্রবন্ধ লেখার হিসাবে, "সর্বশেষ" = v5.3.0)
Christallkeks

3

আরেকটি বিকল্প হ'ল:

...
var map = new ol.Map({
          layers: [...],
          overlays: [...],
          target: document.getElementById('map'),
          view: new ol.View({
             center: ol.proj.transform([minx,miny,maxx,maxy], 
                     'EPSG:4326', 'EPSG:3857'),
             zoom: ...,    
             maxZoom: ..., 
             minZoom: ..., 
             extent: ol.proj.transform([minx-n,miny-n,maxx+n,maxy+n], 
                     'EPSG:4326', 'EPSG:3857')
             })
        });
...

1

ভালো লেগেছে Ragnagord ইতিমধ্যে নির্দিষ্ট এটি সেট করা প্রয়োজন extentআপনার ol.view

আপনি সবচেয়ে সহজ উপায়টি কী উল্লেখ করতে চান তার উপর নির্ভর করে ফাংশনটি ব্যবহার করে আপনার পছন্দসই অভিক্ষেপ ( ol.proj.Projection) বা স্তর (যে কোনও শ্রেণির) থেকে সরাসরি সীমা অর্জন করা । ইপিএসজির ক্ষেত্রে: 3857 এটি কাজ করে:ol.layergetExtent()

var map = new ol.Map({
    ...
    view: new ol.View({
        ...
        extent: ol.proj.get("EPSG:3857").getExtent()
  })
});

1

আমি যদি উল্লেখ করতে পারি যে আমরা মানচিত্রের অভিক্ষেপ বিবেচনা করি, আমার ক্ষেত্রে ডাব্লুজিএস ৮৪ এবং গোলাকৃতির মার্কেটেরের মধ্যে, এর সাথে বিকল্প আছে ol.proj.transformExtent। একটি উত্তর এখানে পাওয়া গেছে । নিম্নরূপ বাহ্য নির্ধারিত:

var map = new ol.Map({
   .
   .
   .
   view: new ol.View({
        extent:  ol.proj.transformExtent([minx, miny, maxx, maxy], 'EPSG:4326', 'EPSG:3857');
         .
         .
         .
        )}
)}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.