![Basic map centered on Seattle in Washington.](https://developers.google.com/static/maps/documentation/ios-sdk/examples/images/basic-map.png)

This example creates a map that's centered on Seattle, Washington.

## 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](https://developers.google.com/maps/documentation/ios-sdk/examples.md.txt).

## View the code


### Swift

```swift
import GoogleMaps
import UIKit

class BasicMapViewController: UIViewController {
  var statusLabel: UILabel!

  override func viewDidLoad() {
    super.viewDidLoad()

    // Seattle coordinates
    let camera = GMSCameraPosition(latitude: 47.6089945, longitude: -122.3410462, zoom: 14)
    let mapView = GMSMapView(frame: view.bounds, camera: camera)
    mapView.delegate = self
    view = mapView
    navigationController?.navigationBar.isTranslucent = false

    statusLabel = UILabel(frame: .zero)
    statusLabel.alpha = 0.0
    statusLabel.backgroundColor = .blue
    statusLabel.textColor = .white
    statusLabel.textAlignment = .center
    view.addSubview(statusLabel)
    statusLabel.translatesAutoresizingMaskIntoConstraints = false
    NSLayoutConstraint.activate([
      statusLabel.topAnchor.constraint(equalTo: view.topAnchor),
      statusLabel.heightAnchor.constraint(equalToConstant: 30),
      statusLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor),
      statusLabel.trailingAnchor.constraint(equalTo: view.trailingAnchor),
    ])
  }
}

extension BasicMapViewController: GMSMapViewDelegate {
  func mapViewDidStartTileRendering(_ mapView: GMSMapView) {
    statusLabel.alpha = 0.8
    statusLabel.text = "Rendering"
  }

  func mapViewDidFinishTileRendering(_ mapView: GMSMapView) {
    statusLabel.alpha = 0.0
  }
}
      
```

### Objective-C

```objective-c
#import "GoogleMapsDemos/Samples/BasicMapViewController.h"

#import <GoogleMaps/GoogleMaps.h>

@implementation BasicMapViewController {
  UILabel *_statusLabel;
}

- (void)viewDidLoad {
  [super viewDidLoad];
  // Seattle coordinates
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.6089945
                                                          longitude:-122.3410462
                                                               zoom:14];
  GMSMapView *view = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  view.delegate = self;
  self.view = view;

  // Add status label, initially hidden.
  _statusLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 30)];
  _statusLabel.alpha = 0.0f;
  _statusLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth;
  _statusLabel.backgroundColor = [UIColor blueColor];
  _statusLabel.textColor = [UIColor whiteColor];
  _statusLabel.textAlignment = NSTextAlignmentCenter;

  [view addSubview:_statusLabel];
}

- (void)mapViewDidStartTileRendering:(GMSMapView *)mapView {
  _statusLabel.alpha = 0.8f;
  _statusLabel.text = @"Rendering";
}

- (void)mapViewDidFinishTileRendering:(GMSMapView *)mapView {
  _statusLabel.alpha = 0.0f;
}

@end
      
```

<br />

## Run the full sample app locally

The Maps SDK for iOS sample app is available as a
[download archive](https://github.com/googlemaps-samples/maps-sdk-for-ios-samples/archive/main.zip)
from [GitHub](https://github.com/googlemaps-samples/maps-sdk-for-ios-samples/tree/main/GoogleMaps).
Follow these steps to install and try the Maps SDK for iOS sample app.

> [!IMPORTANT]
> **Important:** You must remove any existing dependencies added using CocoaPods or manually. See [Step 2 of Set up an Xcode project](https://developers.google.com/maps/documentation/ios-sdk/config.md.txt#swift-package-manager) for instructions.

1. Run `git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git` to clone the samples repository into a local directory.
2. Open a terminal window, navigate to the directory where you cloned the sample files, and
   drill down into the GoogleMaps directory:

   ### Swift

       cd maps-sdk-for-ios-samples/GoogleMaps-Swift
       open GoogleMapsSwiftXCFrameworkDemos.xcodeproj

   ### Objective-C

       cd maps-sdk-for-ios-samples-main/GoogleMaps
       open GoogleMapsDemos.xcodeproj

3. In the Xcode project, go to **File** \> **Add Package Dependencies** . Enter `https://github.com/googlemaps/ios-maps-sdk` as the URL, press **Enter** to pull in the package, and click **Add Package**.
4. 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.
5. [Get an API key](https://developers.google.com/maps/documentation/ios-sdk/get-api-key.md.txt) from your project with the [Maps SDK for iOS enabled](https://developers.google.com/maps/documentation/ios-sdk/cloud-setup#enabling-apis).
6. 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:

   ### Swift

   ```swift
   static let apiKey = "YOUR_API_KEY"
   ```

   ### Objective-C

   ```objective-c
   static NSString *const kAPIKey = @"YOUR_API_KEY";
   ```
7. 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:

   ### Swift

   ```swift
   #error (Register for API Key and insert here. Then delete this line.)
   ```

   ### Objective-C

   ```objective-c
   #error Register for API Key and insert here.
   ```
8. Build and run the project. The iOS simulator window appears, showing a list of **Maps SDK Demos**.
9. Choose one of the options displayed, to experiment with a feature of the Maps SDK for iOS.
10. If prompted to allow GoogleMapsDemos to access your location, choose **Allow**.