ওপেনলেয়ারগুলিতে কোনও বৈশিষ্ট্যের রঙ কীভাবে পরিবর্তন করবেন?


11

আমি কিছু বহুভুজ দেখানোর জন্য ওপ্লেলেয়ারগুলিতে একটি জিওজসন ফাইল লোড করছি। এই ফাইলটি থেকে আমি এই বহুভুজগুলির সমস্ত নামের একটি তালিকাও তৈরি করি।

তালিকা থেকে নির্বাচিত হওয়ার পরে আমি বহুভুজটির রঙ পরিবর্তন করতে চাই (নামটিতে ক্লিক করা)।

আমি যা চেষ্টা করেছি তা হল একটি শৈলী তৈরি করা ( http://docs.openlayers.org/library/feature_styling.html ) তবে কীভাবে বহুভুজতে এই স্টাইল যুক্ত করা যায় তা আমি খুঁজে পেলাম না। আমি এটা কিভাবে করবো?

উত্তর:


7

আপনি কেবল একটি স্টাইলের প্রতীকীকরণ হ্যাশ সেট তৈরি করতে পারেন এবং এটি স্তরটিতে যুক্ত করার আগে এটি আপনার নির্বাচিত বহুভুজকে নির্ধারণ করতে পারেন:

var selected_polygon_style = {
    strokeWidth: 5,
    strokeColor: '#ff0000'
    // add more styling key/value pairs as your need
};

selectedFeature.style = selected_polygon_style;
layer.addFeatures([selectedFeature]);

এই পৃষ্ঠায় ( http://docs.openlayers.org/library/feature_styling.html ) আপনি যে স্টাইলের বৈশিষ্ট্যগুলি সংশোধন করতে পারেন সে সম্পর্কে অনেক তথ্য পাবেন:

  • ভরাটের রঙ
  • fillOpacity
  • strokeColor
  • strokeOpacity
  • strokeWidth
  • strokeLinecap
  • strokeDashstyle
  • ...

9
তবে তা যদি ইতিমধ্যে স্তরটিতে থাকে? আমি এই সমাধানটি খুঁজে পেয়েছি: mylayer.drawFeature (mylayer.getFeatureById (id), {ফিলার কালার: "# 00ffff", স্ট্রোক কালার: "# 00ffff"});
jlai79

হ্যাঁ, আপনি ঠিক বলেছেন, আপনি এটি কেবল নতুন স্টাইলে পুনরায় আঁকেন।
এমফদেব

2

অন্য উত্তরে মামলাটি ব্যবহার করে।

কেবলমাত্র "সেট স্টাইল ()" এর ব্যবহার পরিবর্তন করা হচ্ছে

এই মামলাটি আমার পক্ষে কাজ করেছিল।

var selected_polygon_style = {
    strokeWidth: 5,
    strokeColor: '#ff0000'
    // add more styling key/value pairs as your need
};

selectedFeature.setStyle(selected_polygon_style);
layer.addFeatures([selectedFeature]);

এটি আমার পক্ষে কাজ করে না, আমি পেয়েছি "আনকাচড টাইপআরার: ফিচার.সেট স্টাইল কোনও ফাংশন নয়"
ম্যাথু লক

1

পরিবর্তনের রঙের জন্য হুইট ওপেনলায়ারস 4.6.5 আমি এটি ব্যবহার করছি:

myLayer.getSource().getFeatures()[1].setStyle(new ol.style.Style({
      image: new ol.style.Icon(/** @type {module:ol/style/Icon~Options} */({ // /** @type {olx.style.IconOptions} */
        color: '#00ffff', //  #FF0000
        crossOrigin: 'anonymous',
        src: '/img/dot.png'
      }))
    }));

getFeatures()[1]এটি আমার বৈশিষ্ট্যের অন্যতম উপাদান। আমি যদি সমস্ত বৈশিষ্ট্য পরিবর্তন করতে পারি তবে আমি একটি লুপ ব্যবহার করব।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.