জায়গার আইকন বিভিন্ন ধরনের জায়গাকে নির্দেশ করে (যেমন, কফি শপ, লাইব্রেরি ও মিউজিয়াম)। আপনি PNG ফর্ম্যাটে আইকনের URL-এর জন্য অনুরোধ করতে পারেন, সেইসাথে বর্তমান স্থান, এবং স্থানের বিবরণ অনুরোধের সাথে সংশ্লিষ্ট আইকনের ব্যাকগ্রাউন্ড কালারও দিতে পারেন।
কোনও জায়গার জন্য আইকন ছবি ও ব্যাকগ্রাউন্ড রঙের অনুরোধ করতে, আপনার অনুরোধে নিম্নলিখিত ফিল্ড অন্তর্ভুক্ত করুন:
GMSPlaceFieldIconImageURLGMSPlaceFieldIconBackgroundColor
নিম্নলিখিত উদাহরণে, বর্তমান স্থান বা স্থান সম্পর্কিত বিবরণের অনুরোধ থেকে আইকন ছবি এবং ব্যাকগ্রাউন্ড কালার ব্যবহার করা দেখানো হয়েছে:
iOS-এর জন্য Places Swift SDK
// Initialize Places Swift client let placesClient = PlacesClient.shared // A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fetchPlaceRequest = FetchPlaceRequest( placeID: placeID, placeProperties: [.displayName, .iconMaskURL, .iconBackgroundColor] ) Task { switch await placesClient.fetchPlace(with: fetchPlaceRequest) { case .success(let place): // Print displayName using String(describing:) print("The selected place is: \(String(describing: place.displayName))") // We primarily need the iconMaskURL to proceed with image loading. // iconBackgroundColor can be handled even if nil. guard let iconMaskURL = place.iconMaskURL else { print("Icon mask URL not available for this place. Cannot display icon.") return // Exit if iconMaskURL is missing } print("The icon mask URL is: \(iconMaskURL)") // Print iconBackgroundColor using String(describing:) print("The icon background color is: \(String(describing: place.iconBackgroundColor))") // Asynchronously load the icon image DispatchQueue.global().async { // The iconMaskURL from the new Places SDK is already a URL guard let imageData = try? Data(contentsOf: iconMaskURL) else { print("Could not download image data from URL: \(iconMaskURL)") return } DispatchQueue.main.async { guard let iconImage = UIImage(data: imageData) else { print("Could not create UIImage from downloaded data.") return } // --- Example of how you might use the icon and background color --- // Ensure you have an imageView outlet connected in your UI // For example: // @IBOutlet weak var myImageViewContainer: UIView! // @IBOutlet weak var myIconImageView: UIImageView! // For this example, we'll create them programmatically: let iconBackgroundView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 50)) // Adjust frame as needed // Directly assign the optional UIColor. If nil, background will be clear. iconBackgroundView.backgroundColor = place.iconBackgroundColor let imageView = UIImageView() // Initialize an empty UIImageView imageView.frame = iconBackgroundView.bounds // Make icon view same size as background imageView.contentMode = .scaleAspectFit // Adjust content mode as needed // Tint the icon image (mask) to white // The icon from iconMaskURL is intended to be used as a mask. let templateImage = iconImage.withRenderingMode(.alwaysTemplate) imageView.image = templateImage imageView.tintColor = UIColor.white // Add the image view on top of the background view iconBackgroundView.addSubview(imageView) } } } }
Swift
// Icon image URL let url = URL(string: place.iconImageUrl) DispatchQueue.global().async { guard let url = url, let imageData = try? Data(contentsOf: url) else { print("Could not get image") return } DispatchQueue.main.async { let iconImage = UIImage(data: iconImageData) // Icon image background color let iconBackgroundView = UIView(frame: .zero) iconBackgroundView.backgroundColor = place.iconBackgroundColor // Change icon image color to white let templateImage = iconImage.imageWithRenderingMode(UIImageRenderingModeAlwaysTemplate) imageView.image = templateImage imageView.tintColor = UIColor.white } }
Objective-C
GMSPlace *place; dispatch_async(dispatch_get_global_queue(0, 0), ^{ // Icon image URL NSData * iconImageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: place.iconImageUrl]]; if (!iconImageData) return; dispatch_async(dispatch_get_main_queue(), ^{ UIImage *iconImage = [UIImage imageWithData:iconImageData]; // Icon image background color UIView *iconBackgroundView = [[UIView alloc] initWithFrame:CGRectZero]; [iconBackgroundView setBackgroundColor:place.iconBackgroundColor]; // Change icon image color to white iconImage = [iconImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; [imageView setTintColor:[UIColor whiteColor]]; }); });
ফিল্ড
প্রতিটি 'প্লেস' আইকনে এইসব ফিল্ড থাকে:
iconImageUrlরঙ না করা PNG আইকনের জন্য বেস URL রিটার্ন করে।iconBackgroundColorজায়গার বিভাগের জন্য ডিফল্টUIExtendedSRGBColorSpaceকালার কোড রিটার্ন করে।
আইকন ও ব্যাকগ্রাউন্ডের রঙ সংক্রান্ত অনুরোধ করা
নিম্নলিখিত সারণীতে বিভাগ অনুযায়ী উপলভ্য সবকটি জায়গার আইকন দেখানো হয়েছে। ডিফল্ট হিসেবে এগুলি কালো গ্লিফ সহ দেখানো হয়। আইকনের ব্যাকগ্রাউন্ডের রঙ জায়গার বিভাগ অনুযায়ী হয়।
| জায়গার বিভাগ: খাদ্য ও পানীয় (আইকনের ব্যাকগ্রাউন্ডের রঙ #FF9E67) |
|||
|---|---|---|---|
|
বার, নাইট ক্লাব |
ক্যাফে |
রেস্তোরাঁ, বেকারি |
|
| জায়গার বিভাগ: খুচরা (আইকনের ব্যাকগ্রাউন্ডের রঙ #4B96F3) |
|||
|
বই, পোশাক, ইলেকট্রনিক্স, গয়না, জুতো, শপিং সেন্টার/মল |
নিত্য প্রয়োজনীয় জিনিসের দোকান |
মুদিখানা, সুপারমার্কেট |
ফার্মেসি |
| জায়গার বিভাগ: পরিষেবা (আইকনের ব্যাকগ্রাউন্ডের রঙ #909CE1) |
|||
|
এটিএম |
ব্যাঙ্ক |
গ্যাস |
থাকার জায়গা |
|
পোস্ট অফিস |
|||
| জায়গার বিভাগ: বিনোদন (আইকনের ব্যাকগ্রাউন্ডের রঙ #13B5C7) |
|||
|
অ্যাকোয়ারিয়াম, পর্যটক |
গল্ফ |
ঐতিহাসিক |
সিনেমা |
|
মিউজিয়াম |
থিয়েটার |
||
| জায়গার বিভাগ: পরিবহন (আইকনের ব্যাকগ্রাউন্ডের রঙ #10BDFF) |
|||
|
বিমানবন্দর |
বাস, রাইডশেয়ার, ট্যাক্সি |
ট্রেন/রেল |
|
| জায়গার বিভাগ: মিউনিসিপ্যাল/জেনেরিক/ধর্মীয় (আইকনের ব্যাকগ্রাউন্ডের রঙ #7B9EB0) |
|||
|
কবরস্থান |
সিভিক বিল্ডিং |
লাইব্রেরি |
স্মৃতিস্তম্ভ |
|
পার্কিং |
স্কুল (প্রাথমিক, মাধ্যমিক, বিশ্ববিদ্যালয়) |
উপাসনা (খ্রিস্টান) |
|
|
পূজা (হিন্দু) |
উপাসনা (ইসলাম) |
উপাসনা (জৈন) |
উপাসনা (ইহুদি) |
|
উপাসনা (শিখ) |
সাধারণ ব্যবসা |
||
| জায়গার বিভাগ: আউটডোর (আইকনের ব্যাকগ্রাউন্ডের রঙ #4DB546) |
|||
|
বোটিং |
ক্যাম্পিং |
পার্ক |
স্টেডিয়াম |
|
চিড়িয়াখানা |
|||
| জায়গার বিভাগ: জরুরি (আইকনের ব্যাকগ্রাউন্ডের রঙ #F88181) |
|||
|
হাসপাতাল |
পুলিশ |
||