নিচে দেখানো অনুযায়ী, মৌলিক বা নির্দিষ্ট মার্কার বৈশিষ্ট্য তৈরি করতে GMSAdvancedMarker সাবক্লাসটি ব্যবহার করুন। GMSMarker এর একটি সাবক্লাস হিসেবে, GMSAdvancedMarker মার্কারগুলোকে আরও বেশি অভিব্যক্তিপূর্ণ করে তোলে।
সুইফট
let camera = GMSCameraPosition( target: coordinate, zoom: 14) let mapID = GMSMapID(identifier: "YOUR_MAP_ID") let mapView = GMSMapView(frame: view.bounds, mapID: mapID, camera: camera) let marker = GMSAdvancedMarker(position: coordinate) marker.map = mapView
উদ্দেশ্য-সি
GMSCameraPosition *camera = [GMSCameraPosition cameraWithTarget:kCoordinate zoom:16]; GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:"YOUR_MAP_ID"]; self.mapView = [GMSMapView mapWithFrame:self.view.bounds mapID:mapID camera:camera]; GMSAdvancedMarker *marker = [GMSAdvancedMarker markerWithPosition:kCoordinate]; Marker.map = self.mapView;
একটি উন্নত মার্কার সরান
GMSMarker এর মতোই, আপনি GMSAdvancedMarker এর map প্রপার্টিকে nil এ সেট করে ম্যাপ থেকে একটি অ্যাডভান্সড মার্কার মুছে ফেলতে পারেন। বিকল্পভাবে, আপনি GMSMapView এর clear মেথডটি কল করে ম্যাপের সমস্ত ওভারলে (অ্যাডভান্সড মার্কার সহ) মুছে ফেলতে পারেন।
সুইফট
let camera = GMSCameraPosition.camera( withLatitude: -33.8683, longitude: 151.2086, zoom: 6 ) let mapView = GMSMapView.map(withFrame: .zero, camera: camera) // ... mapView.clear()
উদ্দেশ্য-সি
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; // ... [mapView clear];
মানচিত্রে কোনো মার্কার যুক্ত করার পর যদি আপনি সেটিতে কোনো পরিবর্তন করতে চান, তাহলে GMSAdvancedMarker অবজেক্টটি অবশ্যই নিজের কাছে রাখুন। পরবর্তীতে এই অবজেক্টটিতে পরিবর্তন করে আপনি মার্কারটি সংশোধন করতে পারবেন।
সুইফট
let position = CLLocationCoordinate2D(latitude: 10, longitude: 10) let marker = GMSAdvancedMarker(position: position) marker.map = mapView // ... marker.map = nil
উদ্দেশ্য-সি
CLLocationCoordinate2D position = CLLocationCoordinate2DMake(10, 10); GMSAdvancedMarker *marker = [GMSAdvancedMarker markerWithPosition:position]; marker.map = mapView; // ... marker.map = nil;
মানচিত্রের ক্ষমতা
GMSMapView এর mapCapabilities প্রপার্টিটি ম্যাপ-নির্দিষ্ট ফিচারগুলোর জন্য প্রোগ্রাম্যাটিক চেকিং যোগ করে। নির্দিষ্ট API কল করার আগে কিছু নির্দিষ্ট ম্যাপ ক্যাপাবিলিটি উপলব্ধ আছে কিনা তা জানতে চাইলে এটি কার্যকর। ক্যাপাবিলিটি পরিবর্তিত হলে GMSMapViewDelegate এর didChangeMapCapabilities ফাংশনটিও কল করা হয়। এই কোয়েরিটি নির্ধারণ করে যে ম্যাপ ভিউটি অ্যাডভান্সড মার্কার সমর্থন করে কিনা।
সুইফট
// ... let advancedMarker: GMSAdvancedMarker = { GMSAdvancedMarker(position: CLLocationCoordinate2D(latitude: 47.6089945, longitude: -122.3410462)) }() let marker: GMSMarker = { GMSMarker(position: CLLocationCoordinate2D(latitude: 47.6089945, longitude: -122.3410462)) }() func addMarker() { if mapView.mapCapabilities.contains(.advancedMarkers) { advancedMarker.map = mapView } else { marker.map = mapView } } extension MapCapabilities: GMSMapViewDelegate { func mapView(_ mapView: GMSMapView, didChangeMapCapabilities mapCapabilities: GMSMapCapabilityFlags) { let advancedMarkerAvailable = mapCapabilities.contains(.advancedMarkers) advancedMarker.map = advancedMarkerAvailable ? mapView : nil marker.map = advancedMarkerAvailable ? nil : mapView } }
উদ্দেশ্য-সি
// ... _advancedMarker = [GMSAdvancedMarker markerWithPosition: kSeattleCoordinates]; _fallbackMarker = [GMSMarker markerWithPosition: kSeattleCoordinates]; - (void)addMarker { if (_mapView.mapCapabilities & GMSMapCapabilityFlagsAdvancedMarkers) { _advancedMarker.map = _mapView; } else { _fallbackMarker.map = _mapView; } } #pragma mark - GMSMapViewDelegate - (void)mapView:(GMSMapView *)mapView didChangeMapCapabilities:(GMSMapCapabilityFlags)mapCapabilities { BOOL advancedMarkersAvailable = mapCapabilities & GMSMapCapabilityFlagsAdvancedMarkers; _advancedMarker.map = advancedMarkersAvailable ? _mapView : nil; _fallbackMarker.map = advancedMarkersAvailable ? nil : _mapView; }