মৌলিক বা নির্দিষ্ট মার্কার বৈশিষ্ট্য তৈরি করতে 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
এর মানচিত্র বৈশিষ্ট্যকে 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; }