Page Summary
-
This example demonstrates how to add markers to a map using the Google Maps SDK for iOS.
-
The sample code showcases adding markers for Sydney and Melbourne with custom properties like titles, snippets, and icons.
-
You must configure your development environment with an API key before running the code.
-
Complete instructions are provided for cloning the sample code repository, installing dependencies, and running the application on an iOS simulator.
Get started
Before you can try the sample code, you must configure your development environment. For more information, see Maps SDK for iOS code samples .
View the code
Swift
import GoogleMaps import UIKit // Sample code for adding a marker. class MarkersViewController : UIViewController { private lazy var sydneyMarker = GMSMarker ( position : CLLocationCoordinate2D ( latitude : - 33.8683 , longitude : 151.2086 )) private lazy var melbourneMarker = GMSMarker ( position : CLLocationCoordinate2D ( latitude : - 37.81969 , longitude : 144.966085 )) private lazy var mapView : GMSMapView = { let camera = GMSCameraPosition ( latitude : - 37.81969 , longitude : 144.966085 , zoom : 4 ) return GMSMapView ( frame : . zero , camera : camera ) }() override func loadView () { view = mapView sydneyMarker . title = "Sydney" sydneyMarker . snippet = "Population: 4,605,992" sydneyMarker . isFlat = false sydneyMarker . rotation = 30 print ( "sydneyMarker: \( sydneyMarker ) " ) let australiaMarker = GMSMarker ( position : CLLocationCoordinate2D ( latitude : - 27.994401 , longitude : 140.07019 )) australiaMarker . title = "Australia" australiaMarker . appearAnimation = . pop australiaMarker . isFlat = true australiaMarker . isDraggable = true australiaMarker . groundAnchor = CGPoint ( x : 0.5 , y : 0.5 ) australiaMarker . icon = UIImage ( named : "australia" ) australiaMarker . map = mapView mapView . selectedMarker = sydneyMarker navigationItem . rightBarButtonItem = UIBarButtonItem ( barButtonSystemItem : . add , target : self , action : #selector ( tapAdd )) } @objc func tapAdd () { if sydneyMarker . map == nil { sydneyMarker . map = mapView } else { sydneyMarker . map = nil } melbourneMarker . title = "Melbourne" melbourneMarker . snippet = "Population: 4,169,103" melbourneMarker . map = mapView } }
Objective-C
#import "GoogleMapsDemos/Samples/MarkersViewController.h" #import <GoogleMaps/GoogleMaps.h> @implementation MarkersViewController { GMSMarker * _sydneyMarker ; GMSMarker * _melbourneMarker ; GMSMarker * _fadeInMarker ; } - ( void ) viewDidLoad { [ super viewDidLoad ]; GMSCameraPosition * camera = [ GMSCameraPosition cameraWithLatitude : -37.81969 longitude : 144.966085 zoom : 4 ]; GMSMapView * mapView = [ GMSMapView mapWithFrame : CGRectZero camera : camera ]; _sydneyMarker = [[ GMSMarker alloc ] init ]; _sydneyMarker . title = @"Sydney" ; _sydneyMarker . snippet = @"Population: 4,605,992" ; _sydneyMarker . position = CLLocationCoordinate2DMake ( -33.8683 , 151.2086 ); _sydneyMarker . flat = NO ; _sydneyMarker . rotation = 30.0 ; NSLog ( @"sydneyMarker: %@" , _sydneyMarker ); GMSMarker * australiaMarker = [[ GMSMarker alloc ] init ]; australiaMarker . title = @"Australia" ; australiaMarker . position = CLLocationCoordinate2DMake ( -27.994401 , 140.07019 ); australiaMarker . appearAnimation = kGMSMarkerAnimationPop ; australiaMarker . flat = YES ; australiaMarker . draggable = YES ; australiaMarker . groundAnchor = CGPointMake ( 0.5 , 0.5 ); australiaMarker . icon = [ UIImage imageNamed : @"australia" ]; australiaMarker . map = mapView ; _fadeInMarker = [[ GMSMarker alloc ] init ]; _fadeInMarker . title = @"Australia" ; _fadeInMarker . position = CLLocationCoordinate2DMake ( -29.9959 , 145.0719 ); _fadeInMarker . appearAnimation = kGMSMarkerAnimationFadeIn ; _fadeInMarker . icon = [ UIImage imageNamed : @"australia" ]; // Set the marker in Sydney to be selected mapView . selectedMarker = _sydneyMarker ; self . view = mapView ; self . navigationItem . rightBarButtonItem = [[ UIBarButtonItem alloc ] initWithBarButtonSystemItem : UIBarButtonSystemItemAdd target : self action : @selector ( didTapAdd )]; } - ( void ) didTapAdd { if ( _sydneyMarker . map == nil ) { _sydneyMarker . map = ( GMSMapView * ) self . view ; } else { _sydneyMarker . map = nil ; } _melbourneMarker . map = nil ; _melbourneMarker = [[ GMSMarker alloc ] init ]; _melbourneMarker . title = @"Melbourne" ; _melbourneMarker . snippet = @"Population: 4,169,103" ; _melbourneMarker . position = CLLocationCoordinate2DMake ( -37.81969 , 144.966085 ); _melbourneMarker . map = ( GMSMapView * ) self . view ; if ( _fadeInMarker . map ) { _fadeInMarker . map = nil ; } else { _fadeInMarker . map = ( GMSMapView * ) self . view ; } } @ end . m

