প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস জাভাস্ক্রিপ্ট

স্থান বিবরণ উপাদান

প্লেস UI কিটের স্থানের বিবরণ উপাদান আপনাকে একটি পৃথক UI উপাদান যোগ করতে দেয় যা আপনার অ্যাপে স্থানের বিবরণ প্রদর্শন করে। এই উপাদানটি কাস্টমাইজযোগ্য।

বিস্তারিত কম্প্যাক্ট উপাদান রাখুন

স্থানের বিবরণ উপাদানটি স্বাধীনভাবে বা অন্যান্য Google মানচিত্র প্ল্যাটফর্ম API এবং পরিষেবাগুলির সাথে একত্রে ব্যবহার করা যেতে পারে। উপাদানটি হয় একটি স্থান আইডি , সম্পদের নাম বা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক নেয় এবং স্থানের বিবরণ তথ্য প্রদান করে।

স্থানের বিবরণ উপাদানটি সম্পূর্ণরূপে থিমযোগ্য, যা আপনাকে আপনার ব্যবহারের ক্ষেত্রে এবং ভিজ্যুয়াল ব্র্যান্ড নির্দেশিকাগুলির সাথে মেলে ফন্ট, রঙ এবং কর্নার রেডিআই কাস্টমাইজ করতে দেয়। আপনি কাস্টম PlacesMaterialTheme মান প্রদান করে স্থানের বিবরণের চেহারা কাস্টমাইজ করতে পারেন। এছাড়াও আপনি PlaceDetailsCompactView এন্ট্রিগুলির একটি তালিকা নির্দিষ্ট করে কোন স্থানের বিশদ ক্ষেত্রগুলি অন্তর্ভুক্ত করা হয়েছে তা কাস্টমাইজ করতে পারেন, যার প্রতিটি স্থান সম্পর্কে দেখানো তথ্যের একটি অংশের সাথে মিলে যায়৷

লেআউট বৈকল্পিক

স্থানের বিবরণ উপাদান দুটি প্রধান বিন্যাস বৈকল্পিক সমর্থন করে:

  • কমপ্যাক্ট: মূল তথ্যের পূর্বরূপ দেখার জন্য একটি বিন্যাস।
  • সম্পূর্ণ: একটি বিস্তৃত লেআউট যা সমস্ত উপলব্ধ স্থানের বিবরণ প্রদর্শন করে।

কমপ্যাক্ট বিন্যাসটি উল্লম্ব বা অনুভূমিক অভিযোজনে প্রদর্শিত হতে পারে। এটি আপনাকে বিভিন্ন ডিজাইন লেআউট এবং স্ক্রীন আকারে উপাদানটিকে সংহত করতে দেয়। সম্পূর্ণ বিন্যাস শুধুমাত্র উল্লম্বভাবে প্রদর্শিত হতে পারে.

অনুভূমিক এবং উল্লম্ব বিন্যাস
অনুভূমিক এবং উল্লম্ব বিন্যাস

স্থানের বিবরণ উপাদান আপনাকে উপাদানটিতে প্রদর্শিত বিষয়বস্তুর উপর দানাদার নিয়ন্ত্রণ দেয়। প্রতিটি উপাদান (যেমন ফটো, পর্যালোচনা, এবং যোগাযোগের তথ্য) পৃথকভাবে দেখানো বা লুকানো যেতে পারে, উপাদানগুলির উপস্থিতি এবং তথ্য ঘনত্বের সুনির্দিষ্ট কাস্টমাইজেশনের জন্য অনুমতি দেয়।

স্থান বিবরণ বিষয়বস্তু বিকল্প
বিষয়বস্তু প্রদর্শনের বিকল্প

স্থান বিবরণ কমপ্যাক্ট ভিউ

স্থানের বিবরণ কমপ্যাক্ট ভিউ ( PlaceDetailsCompactView ) ন্যূনতম স্থান ব্যবহার করে একটি নির্বাচিত স্থানের জন্য বিশদ রেন্ডার করে। এটি একটি তথ্য উইন্ডোতে একটি মানচিত্রে একটি স্থান হাইলাইট করে, একটি চ্যাটে একটি অবস্থান ভাগ করার মতো একটি সামাজিক মিডিয়া অভিজ্ঞতায়, আপনার বর্তমান অবস্থান নির্বাচন করার পরামর্শ হিসাবে বা Google মানচিত্রে স্থানটি উল্লেখ করার জন্য একটি মিডিয়া নিবন্ধের মধ্যে দরকারী হতে পারে৷

স্থান বিবরণ সম্পূর্ণ ভিউ

স্থানের বিশদ বিবরণ সম্পূর্ণ ভিউ ( PlaceDetailsView ) স্থানের বিশদ তথ্য প্রদর্শনের জন্য একটি বৃহত্তর পৃষ্ঠ অফার করে এবং আপনাকে আরও ধরনের তথ্য প্রদর্শন করতে দেয়।

বিষয়বস্তু প্রদর্শনের বিকল্প

আপনি PlaceDetailsCompactContent বা PlaceDetailsContent এ enums ব্যবহার করে কোন বিষয়বস্তু প্রদর্শন করতে হবে তা নির্দিষ্ট করতে পারেন।

কমপ্যাক্ট ভিউ সম্পূর্ণ ভিউ
  • ছবি রাখুন
  • জায়গার ঠিকানা
  • রেটিং এবং রেটিং গণনা
  • জায়গার ধরন
  • দাম
  • প্রবেশযোগ্য প্রবেশ তথ্য
  • এখন স্ট্যাটাস খুলুন
  • ফটো কোলাজ রাখুন
  • জায়গার ঠিকানা
  • রেটিং এবং রেটিং গণনা
  • জায়গার ধরন
  • দাম
  • অ্যাক্সেসযোগ্যতার তথ্য
  • এখন স্ট্যাটাস খুলুন
  • খোলার সময়
  • সম্পাদকীয় সারাংশ
  • ওয়েবসাইট
  • ফোন নম্বর
  • রিভিউ ডেডিকেটেড ট্যাবে রেন্ডার করা হয়েছে
  • প্লাস কোড
  • বৈশিষ্ট্য তালিকা, একটি ডেডিকেটেড ট্যাবে রেন্ডার করা হয়েছে
  • টাইপ-নির্দিষ্ট হাইলাইট, যেমন গ্যাস স্টেশনের জন্য গ্যাসের দাম

বিলিং

Place Details UI Kit ব্যবহার করার সময়, প্রতিবার PlaceDetailsQuery পদ্ধতিতে কল করার জন্য আপনাকে বিল করা হবে। আপনি একই জায়গা একাধিকবার লোড করলে, প্রতিটি অনুরোধের জন্য আপনাকে বিল দেওয়া হবে।

আপনার অ্যাপে জায়গার বিবরণ যোগ করুন

স্থানের বিবরণ উপাদান একটি সুইফ্ট UI ভিউ। আপনি আপনার প্রয়োজন অনুসারে এবং আপনার অ্যাপের চেহারার সাথে মেলে জায়গার বিবরণ তথ্যের চেহারা এবং অনুভূতি কাস্টমাইজ করতে পারেন। কাস্টমাইজেশন সম্পর্কে আরও জানুন

আপনি একটি স্থান আইডি, একটি সম্পদের নাম, বা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক সহ স্থান বিবরণ উপাদান লোড করতে চয়ন করতে পারেন৷ আপনি যেকোনো পদ্ধতি বা একাধিক বেছে নিতে পারেন। PlaceDetailsQuery struct-এ identifier .placeID , .resourceName , বা .coordinate এ সেট করুন।

কমপ্যাক্ট ভিউয়ের জন্য ডিফল্ট অবস্থান উল্লম্ব। আপনি যদি একটি অনুভূমিক বিন্যাস চান, অভিযোজন নির্দিষ্ট করুন: PlaceDetailsCompactVieworientation: .horizontal । আপনি ঐচ্ছিকভাবে orientation: .vertical । সম্পূর্ণ ভিউ শুধুমাত্র উল্লম্বভাবে প্রদর্শিত হতে পারে।

স্থান বিবরণ উপাদান উদাহরণ বিভাগে উদাহরণ দেখুন.

চাক্ষুষ চেহারা কাস্টমাইজ করুন

স্থান বিবরণ চাক্ষুষ কাস্টমাইজেশন
ভিজ্যুয়াল কাস্টমাইজেশন উদাহরণ

Places UI কিট মোটামুটিভাবে মেটেরিয়াল ডিজাইনের (কিছু Google-Maps-নির্দিষ্ট পরিবর্তন সহ) উপর ভিত্তি করে ভিজ্যুয়াল কাস্টমাইজেশনের জন্য একটি ডিজাইন সিস্টেম পদ্ধতির প্রস্তাব দেয়। রঙ এবং টাইপোগ্রাফির জন্য মেটেরিয়াল ডিজাইনের রেফারেন্স দেখুন। ডিফল্টরূপে, শৈলীটি Google মানচিত্রের ভিজ্যুয়াল ডিজাইনের ভাষা মেনে চলে।

স্থান বিবরণ কাস্টমাইজেশন বিকল্প

কম্পোনেন্টের চেহারা ও অনুভূতি placesMaterialColor , placesMaterialFont , placesMaterialShape , এবং placesMaterialTheme থিম স্ট্রাকট দিয়ে কাস্টমাইজ করা হয়েছে।

আপনি নিম্নলিখিত শৈলী কাস্টমাইজ করতে পারেন:

ডায়ালগ রঙ এবং টাইপোগ্রাফি কাস্টমাইজেশন
ডায়ালগ রঙ এবং টাইপোগ্রাফি কাস্টমাইজেশন
থিম বৈশিষ্ট্য ব্যবহার
রঙ
theme.color.surface ধারক এবং ডায়ালগ ব্যাকগ্রাউন্ড
theme.color.outlineDecorative ধারক সীমানা
theme.color.primary লিঙ্ক, লোডিং সূচক, ওভারভিউ আইকন
theme.color.onSurface শিরোনাম, সংলাপের বিষয়বস্তু
theme.color.onSurfaceVariant স্থান তথ্য
theme.color.secondaryContainer বোতাম ব্যাকগ্রাউন্ড
theme.color.onSecondaryContainer বোতাম পাঠ্য এবং আইকন
theme.color.neutralContainer তারিখ ব্যাজ পর্যালোচনা করুন, স্থানধারক আকার লোড হচ্ছে
theme.color.onNeutralContainer পর্যালোচনার তারিখ, লোডিং ত্রুটি৷
theme.color.positiveContainer উপলব্ধ EV চার্জার ব্যাজ
theme.color.onPositiveContainer উপলব্ধ EV চার্জার ব্যাজ সামগ্রী
theme.color.positive "খুলুন" এখন লেবেল রাখুন
theme.color.negative "বন্ধ" এখন লেবেল রাখুন
theme.color.info অ্যাক্সেসযোগ্য প্রবেশ আইকন
theme.measurement.borderWidthButton মানচিত্র এবং ঠিক আছে বোতাম খুলুন
টাইপোগ্রাফি
theme.font.bodySmall স্থান তথ্য
theme.font.bodyMedium স্থান তথ্য, ডায়ালগ বিষয়বস্তু
theme.font.labelMedium ব্যাজ সামগ্রী
theme.font.labelLarge বোতাম সামগ্রী
theme.font.headlineMedium ডায়ালগ শিরোনাম
theme.font.displaySmall স্থানের নাম
theme.font.titleSmall স্থানের নাম
ব্যবধান
theme.measurement.spacingExtraSmall
theme.measurement.spacingSmall
theme.measurement.spacingMedium
theme.measurement.spacinglarge
theme.measurement.spacingExtraLarge
theme.measurement.spacingTwoExtraLarge
পরিমাপ
borderWidth ধারক
theme.measurement.borderWidthButton
আকৃতি
theme.shape.cornerRadius ধারক
theme.shape.cornerRadiusButton মানচিত্র এবং ঠিক আছে বোতামে খুলুন (বৃত্তাকার আইকন বোতাম বাদ)
theme.shape.cornerRadiusThumbnail থাম্বনেইল ছবি রাখুন
theme.shape.cornerRadiusCollageOuter মিডিয়া কোলাজ
theme.shape.cornerRadiusCard প্লেস কার্ড, ইউজার রিভিউ কার্ড
theme.shape.cornerRadiusDialog Google Maps প্রকাশের ডায়ালগ
গুগল ম্যাপ ব্র্যান্ড অ্যাট্রিবিউশন
attribution.lightModeColor হালকা থিম গুগল ম্যাপ অ্যাট্রিবিউশন এবং ডিসক্লোজার বোতাম (সাদা, ধূসর এবং কালো জন্য enums)
attribution.darkModeColor ডার্ক থিম গুগল ম্যাপ অ্যাট্রিবিউশন এবং ডিসক্লোজার বোতাম (সাদা, ধূসর এবং কালো জন্য enums)

স্থান বিবরণ উপাদান উদাহরণ বিভাগে উদাহরণ দেখুন.

প্রস্থ এবং উচ্চতা কাস্টমাইজেশন

কমপ্যাক্ট ভিউ

প্রস্তাবিত প্রস্থ:

  • উল্লম্ব অভিযোজন: 180 পিক্সেল এবং 300 পিক্সেলের মধ্যে।
  • অনুভূমিক অভিযোজন: 180 পিক্সেল এবং 500 পিক্সেলের মধ্যে।

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

160 পিক্সেলের চেয়ে ছোট প্রস্থ সঠিকভাবে প্রদর্শিত নাও হতে পারে।

সম্পূর্ণ ভিউ

সম্পূর্ণ দর্শনের জন্য, প্রস্তাবিত প্রস্থ হল 250 পিক্সেল এবং 450 পিক্সেলের মধ্যে৷ 250 পিক্সেলের চেয়ে ছোট প্রস্থ সঠিকভাবে প্রদর্শিত নাও হতে পারে।

আপনি উপাদানের উচ্চতা সেট করতে পারেন: উল্লম্ব স্থানের বিবরণ দৃশ্যটি বরাদ্দকৃত স্থানের মধ্যে উল্লম্বভাবে স্ক্রোল করবে।

সর্বোত্তম অনুশীলন হল সম্পূর্ণ দর্শনের জন্য একটি উচ্চতা সেট করা। এটি উইন্ডোতে থাকা বিষয়বস্তুকে সঠিকভাবে স্ক্রোল করার অনুমতি দেবে।

অ্যাট্রিবিউশন রং

বৈশিষ্ট্য
অ্যাট্রিবিউশন

Google Maps-এর পরিষেবার শর্তাবলীর জন্য আপনাকে Google Maps অ্যাট্রিবিউশনের জন্য তিনটি ব্র্যান্ডের রঙের মধ্যে একটি ব্যবহার করতে হবে। কাস্টমাইজেশন পরিবর্তন করা হলে এই অ্যাট্রিবিউশনটি দৃশ্যমান এবং অ্যাক্সেসযোগ্য হতে হবে।

আমরা বেছে নেওয়ার জন্য 3টি ব্র্যান্ডের রঙ অফার করি যা হালকা এবং অন্ধকার থিমের জন্য স্বাধীনভাবে সেট করা যেতে পারে:

  • হালকা থিম: attributionColorLight সাদা, ধূসর এবং কালোর জন্য enums সহ।
  • ডার্ক থিম: attributionColorDark সাদা, ধূসর এবং কালোর জন্য enums সহ গাঢ়।

স্থান বিবরণ উপাদান উদাহরণ

উল্লম্ব বিন্যাস সহ একটি সম্পূর্ণ দৃশ্য তৈরি করুন

সুইফট

  var selectedType: Set<PlaceDetailsCompactContent> = PlaceDetailsCompactView.standardContent

    // Query for loading the place details widget.
    @State var query: PlaceDetailsQuery = PlaceDetailsQuery(
      identifier: .placeID("ChIJT7FdmYiAhYAROFOvrIxRJDU"))
    
    var theme: PlacesMaterialTheme = PlacesMaterialTheme()
    var configuration: PlaceDetailsConfiguration {
      PlaceDetailsConfiguration(
        content: selectedType,
        theme: theme)
    }
    
    // Callback for the place details widget.
    let placeDetailsCallback: (PlaceDetailsResult) -> Void = { result in
      if let place = result.place {
        print("Place: \(place.description)")
      } else {
        print("Error: \(String(describing: result.error))")
      }
    }
    PlaceDetailsCompactView(
      orientation: .vertical, query: $query,
      configuration: configuration,
      placeDetailsCallback: placeDetailsCallback
    )

অনুভূমিক বিন্যাস সহ একটি কম্প্যাক্ট ভিউ তৈরি করুন

সুইফট

  var selectedType: Set<PlaceDetailsCompactContent> = PlaceDetailsCompactView.standardContent

    // Query for loading the place details widget.
    @State var query: PlaceDetailsQuery = PlaceDetailsQuery(
      identifier: .placeID("ChIJT7FdmYiAhYAROFOvrIxRJDU"))
    
    var theme: PlacesMaterialTheme = PlacesMaterialTheme()
    var configuration: PlaceDetailsConfiguration {
      PlaceDetailsConfiguration(
        content: selectedType,
        theme: theme)
    }
    
    // Callback for the place details widget.
    let placeDetailsCallback: (PlaceDetailsResult) -> Void = { result in
      if let place = result.place {
        print("Place: \(place.description)")
      } else {
        print("Error: \(String(describing: result.error))")
      }
    }
    PlaceDetailsCompactView(
      orientation: .horizontal, query: $query,
      configuration: configuration,
      placeDetailsCallback: placeDetailsCallback
    )

উল্লম্ব বিন্যাস সহ একটি সম্পূর্ণ দৃশ্য তৈরি করুন

সুইফট

  @State var query: PlaceDetailsQuery = PlaceDetailsQuery(
    identifier: .placeID("ChIJT7FdmYiAhYAROFOvrIxRJDU"))
  var theme: PlacesMaterialTheme = PlacesMaterialTheme()
  var selectedType: Set<PlaceDetailsContent> = PlaceDetailsCompactView.standardContent
  
  var configuration: PlaceDetailsConfiguration {
    PlaceDetailsConfiguration(
      content: selectedType,
      theme: theme)
  }
  let placeDetailsCallback: (PlaceDetailsResult) -> Void = { result in
    placeIDPickerFocused = true
    if let place = result.place {
      print("Place: \(place.description)")
    } else {
      print("Error: \(String(describing: result.error))")
    }
  }
  GooglePlacesSwift.PlaceDetailsView(
    query: $query,
    configuration: configuration,
    placeDetailsCallback: placeDetailsCallback
  )

শৈলী বৈশিষ্ট্য কাস্টমাইজ করুন

এই নমুনা দেখায় কিভাবে একটি সম্পূর্ণ বা কমপ্যাক্ট ভিউ এর ডিফল্ট শৈলী বৈশিষ্ট্য কাস্টমাইজ করা যায়।

সুইফট

  // Same for compact and full
func makeTemplateTheme(colorScheme: ColorScheme) -> PlacesMaterialTheme {
  var theme = PlacesMaterialTheme()
  var color = PlacesMaterialColor()
  color.surface = (colorScheme == .dark ? .blue : .gray)
  color.buttonBorder = (colorScheme == .dark ? .pink : .orange)
  color.outlineDecorative = (colorScheme == .dark ? .white : .black)
  color.onSurface = (colorScheme == .dark ? .yellow : .red)
  color.onSurfaceVariant = (colorScheme == .dark ? .white : .blue)
  color.onSecondaryContainer = (colorScheme == .dark ? .white : .red)
  color.secondaryContainer = (colorScheme == .dark ? .green : .purple)
  color.positive = (colorScheme == .dark ? .yellow : .red)
  color.primary = (colorScheme == .dark ? .yellow : .purple)
  color.info = (colorScheme == .dark ? .yellow : .purple)
  var shape = PlacesMaterialShape()
  shape.cornerRadius = 10
  var font = PlacesMaterialFont()
  font.labelLarge = .system(size: UIFontMetrics.default.scaledValue(for: 18))
  font.headlineMedium = .system(size: UIFontMetrics.default.scaledValue(for: 15))
  font.bodyLarge = .system(size: UIFontMetrics.default.scaledValue(for: 15))
  font.bodyMedium = .system(size: UIFontMetrics.default.scaledValue(for: 12))
  font.bodySmall = .system(size: UIFontMetrics.default.scaledValue(for: 11))
  var attribution = PlacesMaterialAttribution()
  attribution.lightModeColor = .black
  attribution.darkModeColor = .white
  theme.measurement.borderWidthButton = 1
  theme.color = color
  theme.shape = shape
  theme.font = font
  theme.attribution = attribution
  return theme
}

নির্দিষ্ট বিষয়বস্তু প্রদর্শন করুন

এই নমুনাটি একটি কমপ্যাক্ট ভিউ তৈরি করে যা পূর্ববর্তী উদাহরণে তৈরি থিম ব্যবহার করে শুধুমাত্র মিডিয়া, ঠিকানা, রেটিং এবং প্রকার প্রদর্শন করে।

সুইফট

  @State var query: PlaceDetailsQuery = PlaceDetailsQuery(
    identifier: .placeID("ChIJT7FdmYiAhYAROFOvrIxRJDU"))
  
  var body: some View {
    PlaceDetailsCompactView(
      orientation: .vertical, query: $query,
      contentType: [.media(), .address(), .rating(),
                    .type(), .price()], theme: theme,
      placeDetailsCallback: placeDetailsCallback, preferTruncation: false
    )
    .frame(width: 350)
  }