Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Ten przykład pokazuje mapę z pinezkami na Sydney i Melbourne w Australii.
Rozpocznij
Zanim spróbujesz użyć przykładowego kodu, musisz skonfigurować środowisko programistyczne. Więcej informacji znajdziesz w próbkach kodu Maps SDK na iOS.
Wyświetlanie kodu
Swift
importGoogleMapsimportUIKit// Sample code for adding a marker.classMarkersViewController:UIViewController{privatelazyvarsydneyMarker=GMSMarker(position:CLLocationCoordinate2D(latitude:-33.8683,longitude:151.2086))privatelazyvarmelbourneMarker=GMSMarker(position:CLLocationCoordinate2D(latitude:-37.81969,longitude:144.966085))privatelazyvarmapView:GMSMapView={letcamera=GMSCameraPosition(latitude:-37.81969,longitude:144.966085,zoom:4)returnGMSMapView(frame:.zero,camera:camera)}()overridefuncloadView(){view=mapViewsydneyMarker.title="Sydney"sydneyMarker.snippet="Population: 4,605,992"sydneyMarker.isFlat=falsesydneyMarker.rotation=30print("sydneyMarker: \(sydneyMarker)")letaustraliaMarker=GMSMarker(position:CLLocationCoordinate2D(latitude:-27.994401,longitude:140.07019))australiaMarker.title="Australia"australiaMarker.appearAnimation=.popaustraliaMarker.isFlat=trueaustraliaMarker.isDraggable=trueaustraliaMarker.groundAnchor=CGPoint(x:0.5,y:0.5)australiaMarker.icon=UIImage(named:"australia")australiaMarker.map=mapViewmapView.selectedMarker=sydneyMarkernavigationItem.rightBarButtonItem=UIBarButtonItem(barButtonSystemItem:.add,target:self,action:#selector(tapAdd))}@objcfunctapAdd(){ifsydneyMarker.map==nil{sydneyMarker.map=mapView}else{sydneyMarker.map=nil}melbourneMarker.title="Melbourne"melbourneMarker.snippet="Population: 4,169,103"melbourneMarker.map=mapView}}
#import "GoogleMapsDemos/Samples/MarkersViewController.h"#import <GoogleMaps/GoogleMaps.h>@implementationMarkersViewController{GMSMarker*_sydneyMarker;GMSMarker*_melbourneMarker;GMSMarker*_fadeInMarker;}-(void)viewDidLoad{[superviewDidLoad];GMSCameraPosition*camera=[GMSCameraPositioncameraWithLatitude:-37.81969longitude:144.966085zoom:4];GMSMapView*mapView=[GMSMapViewmapWithFrame:CGRectZerocamera:camera];_sydneyMarker=[[GMSMarkeralloc]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=[[GMSMarkeralloc]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=[UIImageimageNamed:@"australia"];australiaMarker.map=mapView;_fadeInMarker=[[GMSMarkeralloc]init];_fadeInMarker.title=@"Australia";_fadeInMarker.position=CLLocationCoordinate2DMake(-29.9959,145.0719);_fadeInMarker.appearAnimation=kGMSMarkerAnimationFadeIn;_fadeInMarker.icon=[UIImageimageNamed:@"australia"];// Set the marker in Sydney to be selectedmapView.selectedMarker=_sydneyMarker;self.view=mapView;self.navigationItem.rightBarButtonItem=[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAddtarget:selfaction:@selector(didTapAdd)];}-(void)didTapAdd{if(_sydneyMarker.map==nil){_sydneyMarker.map=(GMSMapView*)self.view;}else{_sydneyMarker.map=nil;}_melbourneMarker.map=nil;_melbourneMarker=[[GMSMarkeralloc]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
Lokalne uruchamianie pełnej przykładowej aplikacji
Przykładowa aplikacja Maps SDK na iOS jest dostępna jako archiwum do pobrania na GitHub. Aby zainstalować i wypróbować przykładową aplikację Maps SDK na iOS, wykonaj te czynności.
Uruchom git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git, aby skopiować repozytorium z przykładami do katalogu lokalnego.
Otwórz okno terminala, przejdź do katalogu, w którym sklonowano pliki przykładowe, i otwórz katalog GoogleMaps:
Swift
cd maps-sdk-for-ios-samples-main/GoogleMaps-Swift pod installopen GoogleMapsSwiftDemos.xcworkspace
Objective-C
cd maps-sdk-for-ios-samples-main/GoogleMaps pod installopen GoogleMapsDemos.xcworkspace
W Xcode kliknij przycisk kompilacji, aby skompilować aplikację z bieżącym schematem. Kompilacja powoduje błąd i wyświetla prośbę o wpisanie klucza interfejsu API w pliku SDKConstants.swift (w przypadku Swift) lub SDKDemoAPIKey.h (w przypadku Objective-C).
Zmodyfikuj plik SDKConstants.swift w przypadku Swifta lub plik SDKDemoAPIKey.h w przypadku Objective-C i wklej klucz interfejsu API w definicji stałej apiKey lub kAPIKey. Na przykład:
Swift
static let apiKey = "YOUR_API_KEY"
Objective-C
staticNSString*constkAPIKey=@"YOUR_API_KEY";
W pliku SDKConstants.swift (Swift) lub SDKDemoAPIKey.h (Objective-C) usuń ten wiersz, ponieważ służy on do rejestrowania problemów zdefiniowanych przez użytkownika:
Swift
#error (Register for API Key and insert here. Then delete this line.)
Objective-C
#error Register for API Key and insert here.
Utwórz i uruchom projekt. Pojawi się okno symulatora iOS z listą demo pakietu Maps SDK.
Wybierz jedną z wyświetlonych opcji, aby wypróbować funkcję pakietu SDK Maps na iOS.
Jeśli pojawi się prośba o zezwolenie aplikacji GoogleMapsDemos na dostęp do Twojej lokalizacji, wybierz Zezwól.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-08-27 UTC."],[[["\u003cp\u003eThis example demonstrates how to add markers to a map using the Google Maps SDK for iOS.\u003c/p\u003e\n"],["\u003cp\u003eThe sample code showcases adding markers for Sydney and Melbourne with custom properties like titles, snippets, and icons.\u003c/p\u003e\n"],["\u003cp\u003eYou must configure your development environment with an API key before running the code.\u003c/p\u003e\n"],["\u003cp\u003eComplete instructions are provided for cloning the sample code repository, installing dependencies, and running the application on an iOS simulator.\u003c/p\u003e\n"]]],[],null,["This example displays a map with pins for markers on Sydney and Melbourne, Australia.\n\nGet started\n\nBefore you can try the sample code, you must configure your development environment.\nFor more information, see [Maps SDK for iOS code samples](/maps/documentation/ios-sdk/examples).\n\nView the code \n\nSwift \n\n```swift\nimport GoogleMaps\nimport UIKit\n\n// Sample code for adding a marker.\nclass MarkersViewController: UIViewController {\n private lazy var sydneyMarker = GMSMarker(\n position: CLLocationCoordinate2D(latitude: -33.8683, longitude: 151.2086))\n\n private lazy var melbourneMarker = GMSMarker(\n position: CLLocationCoordinate2D(latitude: -37.81969, longitude: 144.966085))\n\n private lazy var mapView: GMSMapView = {\n let camera = GMSCameraPosition(latitude: -37.81969, longitude: 144.966085, zoom: 4)\n return GMSMapView(frame: .zero, camera: camera)\n }()\n\n override func loadView() {\n view = mapView\n\n sydneyMarker.title = \"Sydney\"\n sydneyMarker.snippet = \"Population: 4,605,992\"\n sydneyMarker.isFlat = false\n sydneyMarker.rotation = 30\n print(\"sydneyMarker: \\(sydneyMarker)\")\n\n let australiaMarker = GMSMarker(\n position: CLLocationCoordinate2D(latitude: -27.994401, longitude: 140.07019))\n australiaMarker.title = \"Australia\"\n australiaMarker.appearAnimation = .pop\n australiaMarker.isFlat = true\n australiaMarker.isDraggable = true\n australiaMarker.groundAnchor = CGPoint(x: 0.5, y: 0.5)\n australiaMarker.icon = UIImage(named: \"australia\")\n australiaMarker.map = mapView\n\n mapView.selectedMarker = sydneyMarker\n navigationItem.rightBarButtonItem = UIBarButtonItem(\n barButtonSystemItem: .add, target: self, action: #selector(tapAdd))\n }\n\n @objc func tapAdd() {\n if sydneyMarker.map == nil {\n sydneyMarker.map = mapView\n } else {\n sydneyMarker.map = nil\n }\n melbourneMarker.title = \"Melbourne\"\n melbourneMarker.snippet = \"Population: 4,169,103\"\n melbourneMarker.map = mapView\n }\n}https://github.com/googlemaps-samples/maps-sdk-for-ios-samples/blob/86408feffd008565cd2cafce8aff3dc27f1f41bb/GoogleMaps-Swift/GoogleMapsSwiftDemos/Swift/Samples/MarkersViewController.swift#L14-L64\n \n```\n\nObjective-C \n\n```objective-c\n#import \"GoogleMapsDemos/Samples/MarkersViewController.h\"\n\n#import \u003cGoogleMaps/GoogleMaps.h\u003e\n\n@implementation MarkersViewController {\n GMSMarker *_sydneyMarker;\n GMSMarker *_melbourneMarker;\n GMSMarker *_fadeInMarker;\n}\n\n- (void)viewDidLoad {\n [super viewDidLoad];\n GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-37.81969\n longitude:144.966085\n zoom:4];\n GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];\n\n _sydneyMarker = [[GMSMarker alloc] init];\n _sydneyMarker.title = @\"Sydney\";\n _sydneyMarker.snippet = @\"Population: 4,605,992\";\n _sydneyMarker.position = CLLocationCoordinate2DMake(-33.8683, 151.2086);\n _sydneyMarker.flat = NO;\n _sydneyMarker.rotation = 30.0;\n NSLog(@\"sydneyMarker: %@\", _sydneyMarker);\n\n GMSMarker *australiaMarker = [[GMSMarker alloc] init];\n australiaMarker.title = @\"Australia\";\n australiaMarker.position = CLLocationCoordinate2DMake(-27.994401, 140.07019);\n australiaMarker.appearAnimation = kGMSMarkerAnimationPop;\n australiaMarker.flat = YES;\n australiaMarker.draggable = YES;\n australiaMarker.groundAnchor = CGPointMake(0.5, 0.5);\n australiaMarker.icon = [UIImage imageNamed:@\"australia\"];\n australiaMarker.map = mapView;\n\n _fadeInMarker = [[GMSMarker alloc] init];\n _fadeInMarker.title = @\"Australia\";\n _fadeInMarker.position = CLLocationCoordinate2DMake(-29.9959, 145.0719);\n _fadeInMarker.appearAnimation = kGMSMarkerAnimationFadeIn;\n _fadeInMarker.icon = [UIImage imageNamed:@\"australia\"];\n\n // Set the marker in Sydney to be selected\n mapView.selectedMarker = _sydneyMarker;\n\n self.view = mapView;\n self.navigationItem.rightBarButtonItem =\n [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd\n target:self\n action:@selector(didTapAdd)];\n}\n\n- (void)didTapAdd {\n if (_sydneyMarker.map == nil) {\n _sydneyMarker.map = (GMSMapView *)self.view;\n } else {\n _sydneyMarker.map = nil;\n }\n\n _melbourneMarker.map = nil;\n _melbourneMarker = [[GMSMarker alloc] init];\n _melbourneMarker.title = @\"Melbourne\";\n _melbourneMarker.snippet = @\"Population: 4,169,103\";\n _melbourneMarker.position = CLLocationCoordinate2DMake(-37.81969, 144.966085);\n _melbourneMarker.map = (GMSMapView *)self.view;\n\n if (_fadeInMarker.map) {\n _fadeInMarker.map = nil;\n } else {\n _fadeInMarker.map = (GMSMapView *)self.view;\n }\n}\n\n@end \nhttps://github.com/googlemaps-samples/maps-sdk-for-ios-samples/blob/86408feffd008565cd2cafce8aff3dc27f1f41bb/GoogleMaps/GoogleMapsDemos/Samples/MarkersViewController.m#L16-L88\n\n \n```\n\nRun the full sample app locally\n\nThe Maps SDK for iOS sample app is available as a\n[download archive](https://github.com/googlemaps-samples/maps-sdk-for-ios-samples/archive/main.zip)\nfrom [GitHub](https://github.com/googlemaps-samples/maps-sdk-for-ios-samples/tree/main/GoogleMaps).\nFollow these steps to install and try the Maps SDK for iOS sample app.\n\n1. Run `git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git` to clone the samples repository into a local directory.\n2. Open a terminal window, navigate to the directory where you cloned the sample files, and\n drill down into the GoogleMaps directory:\n\n Swift \n\n cd maps-sdk-for-ios-samples-main/GoogleMaps-Swift\n pod install\n open GoogleMapsSwiftDemos.xcworkspace\n\n Objective-C \n\n cd maps-sdk-for-ios-samples-main/GoogleMaps\n pod install\n open GoogleMapsDemos.xcworkspace\n\n3. In Xcode, press the compile button to [build the app](https://developer.apple.com/documentation/xcode/building-and-running-an-app) with the current scheme. The build produces an error, prompting you to enter your API key in the `SDKConstants.swift` file for Swift or`SDKDemoAPIKey.h` file for Objective-C.\n4. [Get an API key](/maps/documentation/ios-sdk/get-api-key) from your project with the [Maps SDK for iOS enabled](/maps/documentation/ios-sdk/cloud-setup#enabling-apis).\n5. Edit the `SDKConstants.swift` file for Swift or`SDKDemoAPIKey.h` file for Objective-C and paste your API key into the definition of either the `apiKey` or `kAPIKey` constant. For example: \n\n Swift \n\n ```scdoc\n static let apiKey = \"YOUR_API_KEY\"\n ```\n\n Objective-C \n\n ```objective-c\n static NSString *const kAPIKey = @\"YOUR_API_KEY\";\n ```\n6. In the `SDKConstants.swift` file (Swift) or`SDKDemoAPIKey.h` file (Objective-C), remove the following line, because it's used to register the user-defined issue: \n\n Swift \n\n ```text\n #error (Register for API Key and insert here. Then delete this line.)\n ```\n\n Objective-C \n\n ```text\n #error Register for API Key and insert here.\n ```\n7. Build and run the project. The iOS simulator window appears, showing a list of **Maps SDK Demos**.\n8. Choose one of the options displayed, to experiment with a feature of the Maps SDK for iOS.\n9. If prompted to allow GoogleMapsDemos to access your location, choose **Allow**."]]