顯示基本地圖
透過集合功能整理內容
你可以依據偏好儲存及分類內容。

這個範例會建立以華盛頓州西雅圖為中心的地圖。
開始使用
請務必先設定開發環境,再試用程式碼範例。詳情請參閱 Maps SDK for iOS 程式碼範例。
查看程式碼
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
#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
在本機執行完整的範例應用程式
您可以從 GitHub 下載 Archives ,取得 Maps SDK for iOS 範例應用程式。請按照下列步驟安裝及試用 Maps SDK for iOS 範例應用程式。
- 執行
git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git
將範例存放區複製到本機目錄。
開啟終端機視窗,前往複製範例檔案的目錄,然後深入 GoogleMaps 目錄:
Swift
cd maps-sdk-for-ios-samples-main/GoogleMaps-Swift
pod install
open GoogleMapsSwiftDemos.xcworkspace
Objective-C
cd maps-sdk-for-ios-samples-main/GoogleMaps
pod install
open GoogleMapsDemos.xcworkspace
- 在 Xcode 中按下編譯按鈕,即可使用目前的配置建構應用程式。建構作業會產生錯誤,提示您在
SDKConstants.swift
檔案 (Swift) 或 SDKDemoAPIKey.h
檔案 (Objective-C) 中輸入 API 金鑰。
- 取得 API 金鑰,並在啟用 Maps SDK for iOS 的專案中使用。
- 編輯 Swift 的
SDKConstants.swift
檔案或 Objective-C 的 SDKDemoAPIKey.h
檔案,然後將 API 金鑰貼到 apiKey
或 kAPIKey
常數的定義中。例如:
Swift
static let apiKey = "YOUR_API_KEY"
Objective-C
static NSString *const kAPIKey = @"YOUR_API_KEY";
- 在
SDKConstants.swift
檔案 (Swift) 或 SDKDemoAPIKey.h
檔案 (Objective-C) 中,移除下列行,因為這會用來註冊使用者定義的問題:
Swift
#error (Register for API Key and insert here. Then delete this line.)
Objective-C
#error Register for API Key and insert here.
- 建構並執行專案。iOS 模擬器視窗隨即顯示 Maps SDK 示範清單。
- 選擇其中一個顯示的選項,即可試用 Maps SDK for iOS 的功能。
- 如果系統提示您允許 GoogleMapsDemos 存取您的位置,請選擇「允許」。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-31 (世界標準時間)。
[null,null,["上次更新時間:2025-08-31 (世界標準時間)。"],[[["\u003cp\u003eThis guide demonstrates how to create a basic map centered on Seattle using the Google Maps SDK for iOS.\u003c/p\u003e\n"],["\u003cp\u003eIt provides code samples in both Swift and Objective-C to display the map.\u003c/p\u003e\n"],["\u003cp\u003eBefore running the code, you need to configure your development environment and obtain a Google Maps API key.\u003c/p\u003e\n"],["\u003cp\u003eThe guide includes steps to download, install, and run the full sample app, enabling exploration of various Maps SDK features.\u003c/p\u003e\n"]]],[],null,["This example creates a map that's centered on Seattle, Washington.\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\nclass BasicMapViewController: UIViewController {\n var statusLabel: UILabel!\n\n override func viewDidLoad() {\n super.viewDidLoad()\n\n // Seattle coordinates\n let camera = GMSCameraPosition(latitude: 47.6089945, longitude: -122.3410462, zoom: 14)\n let mapView = GMSMapView(frame: view.bounds, camera: camera)\n mapView.delegate = self\n view = mapView\n navigationController?.navigationBar.isTranslucent = false\n\n statusLabel = UILabel(frame: .zero)\n statusLabel.alpha = 0.0\n statusLabel.backgroundColor = .blue\n statusLabel.textColor = .white\n statusLabel.textAlignment = .center\n view.addSubview(statusLabel)\n statusLabel.translatesAutoresizingMaskIntoConstraints = false\n NSLayoutConstraint.activate([\n statusLabel.topAnchor.constraint(equalTo: view.topAnchor),\n statusLabel.heightAnchor.constraint(equalToConstant: 30),\n statusLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor),\n statusLabel.trailingAnchor.constraint(equalTo: view.trailingAnchor),\n ])\n }\n}\n\nextension BasicMapViewController: GMSMapViewDelegate {\n func mapViewDidStartTileRendering(_ mapView: GMSMapView) {\n statusLabel.alpha = 0.8\n statusLabel.text = \"Rendering\"\n }\n\n func mapViewDidFinishTileRendering(_ mapView: GMSMapView) {\n statusLabel.alpha = 0.0\n }\n}https://github.com/googlemaps-samples/maps-sdk-for-ios-samples/blob/86408feffd008565cd2cafce8aff3dc27f1f41bb/GoogleMaps-Swift/GoogleMapsSwiftDemos/Swift/Samples/BasicMapViewController.swift#L14-L55\n \n```\n\nObjective-C \n\n```objective-c\n#import \"GoogleMapsDemos/Samples/BasicMapViewController.h\"\n\n#import \u003cGoogleMaps/GoogleMaps.h\u003e\n\n@implementation BasicMapViewController {\n UILabel *_statusLabel;\n}\n\n- (void)viewDidLoad {\n [super viewDidLoad];\n // Seattle coordinates\n GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.6089945\n longitude:-122.3410462\n zoom:14];\n GMSMapView *view = [GMSMapView mapWithFrame:CGRectZero camera:camera];\n view.delegate = self;\n self.view = view;\n\n // Add status label, initially hidden.\n _statusLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 30)];\n _statusLabel.alpha = 0.0f;\n _statusLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth;\n _statusLabel.backgroundColor = [UIColor blueColor];\n _statusLabel.textColor = [UIColor whiteColor];\n _statusLabel.textAlignment = NSTextAlignmentCenter;\n\n [view addSubview:_statusLabel];\n}\n\n- (void)mapViewDidStartTileRendering:(GMSMapView *)mapView {\n _statusLabel.alpha = 0.8f;\n _statusLabel.text = @\"Rendering\";\n}\n\n- (void)mapViewDidFinishTileRendering:(GMSMapView *)mapView {\n _statusLabel.alpha = 0.0f;\n}\n\n@end \nhttps://github.com/googlemaps-samples/maps-sdk-for-ios-samples/blob/86408feffd008565cd2cafce8aff3dc27f1f41bb/GoogleMaps/GoogleMapsDemos/Samples/BasicMapViewController.m#L16-L54\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**."]]