উন্নত স্থান তালিকার উপাদান
অ্যাডভান্সড প্লেস লিস্ট কম্পোনেন্টটি আপনাকে স্থানসমূহের একটি তালিকা নির্ধারণ ও প্রদর্শন করতে দেয়। আপনি প্লেস ডিটেইলস কম্পোনেন্ট দ্বারা সমর্থিত একই ধরনের পরিচিতি (যেমন প্লেস আইডি, প্লেস রিসোর্স নেম, বা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক) ব্যবহার করে সর্বোচ্চ ২০টি স্থান তালিকাভুক্ত করতে পারেন।
আপনি অনুভূমিক বা উল্লম্ব তালিকা প্রদর্শন বেছে নিতে পারেন। ডিফল্ট বিন্যাস হলো উল্লম্ব। সংক্ষিপ্ত এবং সম্পূর্ণ স্থানের বিবরণ কার্ডের মতো একই তথ্য এবং কনফিগারেশন বিকল্পগুলি তালিকার প্রতিটি আইটেমের জন্য উপলব্ধ।
একটি তালিকা তৈরি করতেAdvancedPlaceListView এর orientation , placeIdentifiers এবং configuration প্যারামিটারগুলো ব্যবহার করুন। আরও বিস্তারিত জানতে উদাহরণ দেখুন।বিলিং
প্রতিটি তালিকা অনুরোধের জন্য আপনাকে বিল করা হয়, এবং তালিকায় যেকোনো পরিবর্তন একটি নতুন বিলযোগ্য ঘটনা হিসেবে গণ্য হয়।
উদাহরণ
এই নমুনাটি স্থান শনাক্তকারীর উপর ভিত্তি করে একটি তালিকা তৈরি করে। configuration প্যারামিটারটি নির্দিষ্ট করে যে তালিকার প্রতিটি আইটেমে ঠিকানা, রেটিং এবং প্রকারের পাশাপাশি অন্যান্য দৃশ্যমান বিবরণও থাকবে। ব্যবহারকারীকে তালিকার প্রতিটি আইটেমকে ফেভারিট বা আনফেভারিট করার সুযোগ দেওয়ার জন্য একটি প্রধান অ্যাকশন তৈরি করা হয়েছে। তালিকার প্রতিটি আইটেমের জন্য কর্নার অ্যাকশনগুলো নিষ্ক্রিয় রাখা হয়েছে।
সুইফট
struct AdvancedPlaceListDemoView: View { private let configuration = AdvancedPlaceListConfiguration( content: [.address(), .rating(), .type()], preferTruncation: true, theme: PlacesMaterialTheme(), attributionPosition: .bottom, mediaSize = .medium, selectable: true ) @State private var placeIdentifiers = [.placeID("ChIJj61dQgK6j4AR4GeTYWZsKWw")] @State private var favoritePlaces: Set<String> = [] var body: some View { AdvancedPlaceListView( orientation: .horizontal, // default is vertical placeIdentifiers: placeIdentifiers, configuration: configuration ) .onLoad { results in for result in results { switch result { case .success(let place) print("place: \(place)") case .failure(let error) print("error: \(error)") } } } .onPlaceSelected { place, index in print("place: \(place)") print("index: \(index)") } .mainActions { place in var actions: [MainPlaceActionElement] = [] let placeID = place.placeID! if self.favoritePlaces.contains(placeID) { actions.append( .action( MainPlaceAction( image: Image(systemName: "heart.fill"), label: "Unfavorite" ) { _ in self.toggleFavorite(placeID) } ) ) } else { actions.append( .action( MainPlaceAction( image: Image(systemName: "heart"), label: "Favorite" ) { _ in self.toggleFavorite(placeID) } ) ) } actions.append(.actionId(.openMap(style: .primary))) return actions } // Ensures that there are no corner actions. .cornerActions { _ in return [] } } func toggleFavorite(_ placeID: String) { if favoritePlaces.contains(placeID) { favoritePlaces.remove(placeID) } else { favoritePlaces.insert(placeID) } } }