কলিশন বিহেভিয়র কন্ট্রোল করা

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript

এই পৃষ্ঠায় দেখানো হয়েছে যে কীভাবে কোনও মার্কারের জন্য কলিশন বিহেভিওর সেট করতে হয়। কলিশন বিহেভিওর নিয়ন্ত্রণ করে যে কোনও মার্কার অন্য মার্কারের সাথে কলিশন (ওভারল্যাপ) করলে কীভাবে তা দেখানো হবে।

কলিশন বিহেভিওর সেট করতে, collisionBehavior-কে নিম্নলিখিত বিকল্পগুলির মধ্যে একটিতে সেট করুন:

  • REQUIRED: সংঘর্ষ নির্বিশেষে সবসময় মার্কার দেখান
  • REQUIRED_AND_HIDES_OPTIONAL: সংঘর্ষ নির্বিশেষে সবসময় মার্কার দেখান এবং মার্কারের সাথে ওভারল্যাপ করতে পারে এমন যেকোনও OPTIONAL_AND_HIDES_LOWER_PRIORITY মার্কার বা লেবেল লুকান।
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY: মার্কারটি অন্য মার্কারের সাথে ওভারল্যাপ না করলে তবেই সেটি দেখান। এই ধরনের দুটি মার্কার ওভারল্যাপ করলে, যেটির zIndex বেশি সেটি দেখানো হয়। সেগুলির zIndex একই হলে, যেটির উল্লম্ব স্ক্রিন পজিশন কম সেটি দেখানো হয়।

নিম্নলিখিত উদাহরণে কোনও মার্কারের জন্য কলিশন বিহেভিওর সেট করা দেখানো হয়েছে:

const marker = new Marker3DElement({
    position: { lat, lng },
    // Try setting a different collision behavior here.
    collisionBehavior: 'REQUIRED',
});

কোনও লেবেলের কলিশন বিহেভিওর নিয়ন্ত্রণ করা

আপনি মার্কারের পিন ও লেবেল টেক্সটের কলিশন বিহেভিওর আলাদাভাবে কন্ট্রোল করতে পারবেন। কিছু ক্ষেত্রে, প্রসঙ্গ বজায় রাখার জন্য স্ক্রিনে মার্কার পিন দৃশ্যমান রেখে লেবেল লুকিয়ে রাখা সুবিধাজনক হতে পারে। এটি করতে, <gmp-marker-3d>-এর সিবলিং হিসেবে <gmp-label-3d> এলিমেন্ট যোগ করুন এবং for অ্যাট্রিবিউট ব্যবহার করে সেগুলি লিঙ্ক করুন।

নিচের কোড স্যাম্পেল থেকে বোঝা যায় যে মার্কার থেকে আলাদা করে লেবেলের জন্য কলিশন বিহেভিওর কীভাবে সেট করতে হয়:

const markerWithIndependentLabel = new Marker3DElement({
    position: { lat: 37.423, lng: -122.015 },
});
markerWithIndependentLabel.id = 'marker-1';
const label = new Label3DElement({
    collisionBehavior: CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY,
    for: 'marker-1',
});
label.append('Independent label example');
map.append(markerWithIndependentLabel);
map.append(label);