ওপেনলায়ার্স ভেক্টর স্তর থেকে কোনও বৈশিষ্ট্য সরান / মুছুন


15

আমার ওপেনলায়ারস স্তর রয়েছে যার উপরে বেশ কয়েকটি ভেক্টর রয়েছে। আমি ওপেনলায়ার্স ফিচার আইডি জানি (উদাঃ ওপেনলায়ারস.ফিজারটি.ভেক্টর ৩৪১১) এবং আমি কীভাবে এই বৈশিষ্ট্যটি এবং কেবল এই বৈশিষ্ট্যটি সরাতে হয় তা জানতে চাই?

আমি সেগুলি মুছে ফেলা এবং তারপরে পুনরায় আঁকতে একটি অ্যারের মধ্য দিয়ে লুপিং করার বিষয়টি বিবেচনা করেছি, তবে এটি কিছুটা অবহেলিত এবং দীর্ঘায়িত বলে মনে হচ্ছে।

আমি অনুসরণীয় কোডের বিভিন্ন সংস্করণ চেষ্টা করেছি:

layer.removeFeatures( featureID );

এবং

layer.removeFeatures( [featureID] );

এবং

layer.removeFeatures( {feature : featureID });

ইত্যাদি ...

সমস্ত সহায়তা স্বাগত!

ধন্যবাদ

সি

উত্তর:


20

আমি মনে করি না যে ওপেনলায়ার্স সরবরাহ করে কোনও বৈশিষ্ট্য অপসারণ করতে সক্ষম featureID। দেখে মনে হচ্ছে এটি কেবল কোনও বৈশিষ্ট্য বা বৈশিষ্ট্যগুলির অ্যারে সরবরাহ করে কোনও বৈশিষ্ট্য সরিয়ে ফেলতে পারে:

layer.removeFeatures(featureObject);

তবে আপনি পরিবর্তে প্রথমে বৈশিষ্ট্যটি সনাক্ত করতে এবং তারপরে পাওয়া বৈশিষ্ট্যটি সরিয়ে ফেলতে পারেন:

layer.removeFeatures(layer.getFeatureById(featureID));

বা অনুরূপ যদি এটি ওপেনলায়ার্স ফিচারআইডি না থাকে তবে

layer.removeFeatures(layer.getFeatureBy('myId', myID));

আমি ভাবনা পছন্দ! সমস্যাগুলি যদিও "স্তর.getFeatureById (ফিচারআইডি)" বিবৃতিটি বাতিল করে দেয়, এবং তাই অপসারণ বৈশিষ্ট্য () কাজ করে না। আমি 100% যে আমি সঠিক ফিচারআইডি আছে যদিও .... আরও কিছু চিন্তা?
CatchingMonkey

1
যে আঁচড়ের দাগ. আমি ভুল ফিচারআইডি ব্যবহার করছিলাম। আমি আপনার দ্বিতীয় উদাহরণ ব্যবহার করছি এবং এটি পুরোপুরি কার্যকর হয়। সুন্দর!
CatchingMonkey

5

এটি আমার পক্ষে কাজ করেছে:

*layer.removeFeatures(featureObject);*

তবে আমি একটি বৈশ্বিক পরিবর্তনশীল হিসাবে বৈশিষ্ট্যটি পেয়েছি, সম্ভবত অন্যান্য ক্ষেত্রে আপনার বৈশিষ্ট্য আইডিটি অপসারণ করার জন্য অনুসন্ধানের চেষ্টা করা উচিত।

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