İşaretçi İçeren Harita Ekleyin
Bu eğitim, iOS cihazınıza işaretçi içeren basit bir Google haritasını nasıl ekleyeceğinizi gösterir. uygulamasını indirin. Başlangıç ya da orta seviye Swift veya Objective-C'yi ve Xcode genel bilgisini öğrenin. Gelişmiş bir rehber için Haritalar'ı inceleyerek, geliştiricilerin rehberini inceleyin.
Bu eğiticiyi kullanarak aşağıdaki haritayı oluşturacaksınız. İşaretçi şu konumda bulunuyor: Sydney, Avustralya.
Kodu alın
Şunu klonlayın veya indirin: GitHub'daki Google Haritalar iOS örnekleri deposu.
Alternatif olarak, kaynak kodunu indirmek için aşağıdaki düğmeyi tıklayın:
Swift
import UIKit import GoogleMaps class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: self.view.frame, camera: camera) self.view.addSubview(mapView) // Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView } }
Objective-C
#import "ViewController.h" #import <GoogleMaps/GoogleMaps.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6]; GMSMapView *mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera]; mapView.myLocationEnabled = YES; [self.view addSubview:mapView]; // Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView; } @end
Başlayın
Swift Paket Yöneticisi
iOS için Haritalar SDK'sı, Swift Package Manager kullanılarak yüklenebilir.
- iOS bağımlılıkları için mevcut tüm Haritalar SDK'sını kaldırdığınızdan emin olun.
- Bir terminal penceresi açıp
tutorials/map-with-marker
dizinine gidin. -
Xcode çalışma alanınızın kapalı olduğundan emin olun ve aşağıdaki komutları çalıştırın:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all rm Podfile rm map-with-marker.xcworkspace
- Xcode projenizi açın ve kapsül dosyasını silin.
- Dosya > Paket Bağımlılıkları Ekleyin.
- URL olarak https://github.com/googlemaps/ios-maps-sdk adresini girin, paketi almak için Enter tuşuna basın ve Paket Ekle'yi tıklayın.
- Dosya > Paketler > Paket Önbelleğini Sıfırla.
CocoaPods'u kullanma
- Xcode'u indirip yükleyin 15.0 veya daha yeni bir sürüme sahip olmanız gerekir.
- Henüz CocoaPods'unuz yoksa
terminalden aşağıdaki komutu çalıştırarak macOS'e yükleyin:
sudo gem install cocoapods
tutorials/map-with-marker
dizinine gidin.pod install
komutunu çalıştırın. Bu işlem,Podfile
içinde belirtilen Haritalar SDK'sını ve bağımlılıklarını yükler.- Yüklü kapsül sürümünü yeni güncellemelerle karşılaştırmak için
pod outdated
komutunu çalıştırın. Yeni bir sürüm algılanırsaPodfile
uygulamasını güncellemek ve en son SDK'yı yüklemek içinpod update
komutunu çalıştırın. Daha ayrıntılı bilgi için CocoaPods Kılavuzu'nu inceleyin. - Projenin map-with-marker.xcworkspace dosyasını açın (çift tıklayın)
dosyasını Xcode'da açın. Projeyi açmak için
.xcworkspace
dosyasını kullanmanız gerekir.
API anahtarı alın ve gerekli API'leri etkinleştirin
Bu eğiticiyi tamamlamak için yetkili bir Google API anahtarı gerekir: iOS için Haritalar SDK'sını kullanmalıdır. Aşağıdaki düğmeyi tıklayarak bir anahtar ile API'yi etkinleştirin.
BaşlarkenDaha fazla bilgi için bkz. API anahtarı alın.
API anahtarını uygulamanıza ekleyin
API anahtarınızı AppDelegate.swift
cihazınıza aşağıdaki şekilde ekleyin:
- Aşağıdaki içe aktarma ifadesinin dosyaya eklendiğini unutmayın:
import GoogleMaps
- Aşağıdaki satırı
application(_:didFinishLaunchingWithOptions:)
içinde düzenleyin yöntemi yerine YOUR_API_KEY ifadesini API anahtarınızla değiştirin:GMSServices.provideAPIKey("YOUR_API_KEY")
Uygulamanızı derleyip çalıştırma
- Bilgisayarınıza bir iOS cihazı bağlayın veya bir simülatör "Xcode şeması" menüsünden seçim yapabilirsiniz.
- Bir cihaz kullanıyorsanız konum hizmetlerinin etkinleştirildiğinden emin olun. Simülasyon aracı kullanıyorsanız Özellikler bölümünden bir konum seçin. tıklayın.
- Xcode'da Product/Run (Ürün/Çalıştır) menü seçeneğini tıklayın (veya düğme simgesi).
- Xcode uygulamayı oluşturur ve ardından cihazda veya simülatörde çalıştırır.
- Bu sayfadaki resme benzer şekilde, Avustralya'nın doğu kıyısında Sidney'in ortasında bir işaretleyicinin olduğu bir harita göreceksiniz.
Sorun Giderme:
- Harita görmüyorsanız bir API anahtarı edinip eklediğinizden emin olun. önceden açıklandığı gibi uygulamaya koymanız gerekir. Kontrol et API anahtarıyla ilgili hata mesajları için Xcode'un hata ayıklama konsolu.
- API anahtarını iOS paket tanımlayıcısıyla kısıtladıysanız
tuşunu kullanın:
com.google.examples.map-with-marker
- Kablosuz veya GPS bağlantınızın iyi olduğundan emin olun.
- Xcode hata ayıklama araçlarını kullanın günlükler görüntüleyebilir ve uygulamada hata ayıklayabilirsiniz.
Kodu anlama
- Bir harita oluşturun ve
viewDidLoad()
içindeki görünüm olarak ayarlayın.Swift
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) view = mapView
Objective-C
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6.0]; GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera]; self.view = mapView;
viewDidLoad()
bölgesindeki haritaya bir işaretçi ekleyin.Swift
// Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView
Objective-C
// Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView;
iOS için Haritalar SDK'sı varsayılan olarak bilginin içeriğini gösterir. kullanıcı bir işaretçiye dokunduğunda gösterilecek. Gerekirse bir tıklama işleyici eklemeniz varsayılan davranışı kullanmaktan memnunsanız işaretçiyi tıklayın.
Tebrikler! Bir Google haritasında görüntülenen ve işaretçi içerir. iOS için Haritalar SDK'sı
Sonraki adımlar
Harita nesnesi ve bu nesnel işaretçilerle yapabilecekleriniz.