عرض خريطة أساسية
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

ينشئ هذا المثال خريطة تركّز على سياتل، واشنطن.
البدء
قبل أن تتمكّن من تجربة نموذج الرمز، عليك ضبط بيئة التطوير.
لمزيد من المعلومات، يُرجى الاطّلاع على عيّنات الرموز البرمجية لحزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل 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
تشغيل نموذج التطبيق الكامل على الجهاز
يتوفّر تطبيق "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google" لنظام التشغيل iOS كملف أرشيف للتنزيل من GitHub.
اتّبِع الخطوات التالية لتثبيت تطبيق "نموذج حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لنظام التشغيل 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.
- احصل على مفتاح واجهة برمجة تطبيقات من مشروعك مع تفعيل حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات iOS.
- عدِّل ملف
SDKConstants.swift
لنظام Swift أو ملفSDKDemoAPIKey.h
لنظام Objective-C والصِق مفتاح واجهة برمجة التطبيقات في تعريف الثابتين
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، وتعرض
قائمة بالعروض التوضيحية لحزمة تطوير البرامج (SDK) لتطبيق "خرائط Google".
- اختَر أحد الخيارات المعروضة لتجربة إحدى ميزات
حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات iOS.
- إذا طُلب منك السماح لتطبيق GoogleMapsDemos بالوصول إلى موقعك الجغرافي، اختَر
السماح.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 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**."]]