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

প্ল্যাটফর্ম বেছে নিন: 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);