İşaretçili Harita Ekleme
Bu eğitim, iOS uygulamanıza nasıl Google haritası ekleyeceğinizi gösterir. Harita, belirli bir konumu belirtmek için raptiye olarak da adlandırılan bir işaretçi içerir.
Kodu alma
GitHub'dan Google Haritalar iOS örnek deposunu klonlayın veya indirin.
Geliştirme projenizi oluşturma
iOS için Haritalar SDK'sını yüklemek üzere şu adımları uygulayın:
- Xcode 13.0 veya sonraki bir sürümü indirip yükleyin.
- Henüz CocoaPods'unuz yoksa terminalden aşağıdaki komutu çalıştırarak macOS'e yükleyin:
sudo gem install cocoapods
- Google Haritalar iOS örnek deposunu klonlayın veya indirin.
tutorials/map-with-marker
dizinine gidin.pod install
komutunu çalıştırın. Bu işlem,Podfile
öğesinde belirtilen API'leri ve sahip olabileceği bağımlıları yükleyecek.- Yüklü kapsül sürümünü tüm yeni güncellemelerle karşılaştırmak için
pod outdated
komutunu çalıştırın. Yeni bir sürüm tespit edilirsePodfile
sürümünü güncellemek ve en son SDK sürümünü yüklemek içinpod update
eklentisini çalıştırın. Daha fazla bilgi için CocoaPods Rehberi'ne bakın. - Projeyi kod ile açmak için işaretçi.xcworkspace dosyasını Xcode'da açın (çift tıklayın). Projeyi açmak için
.xcworkspace
dosyasını kullanmanız gerekir.
API anahtarı alma ve gerekli API'leri etkinleştirme
Bu eğiticiyi tamamlamak için, iOS için Haritalar SDK'sını kullanma yetkisi olan bir Google API anahtarı gerekir. Anahtar almak ve API'yi etkinleştirmek için aşağıdaki düğmeyi tıklayın.
BaşlayınDaha fazla bilgi için API anahtarı alma bölümüne göz atın.
Uygulamanıza API anahtarı ekleme
API anahtarınızı AppDelegate.swift
bölümüne şu şekilde ekleyin:
- Aşağıdaki içe aktarma ifadesi dosyaya eklendi:
import GoogleMaps
- Aşağıdaki yöntemi
application(_:didFinishLaunchingWithOptions:)
yönteminizde düzenleyin, API_KEY'inizi API anahtarınızla değiştirin:GMSServices.provideAPIKey("YOUR_API_KEY")
Uygulamanızı oluşturma ve çalıştırma
- Bilgisayarınıza bir iOS cihaz bağlayın veya Xcode şeması pop-up menüsünden bir simülatör seçin.
- Cihaz kullanıyorsanız konum hizmetlerinin etkinleştirildiğinden emin olun. Simülasyon aracı kullanıyorsanız Özellikler menüsünden bir konum seçin.
- Xcode'da Product/Run menü seçeneğini (veya oynat düğmesi simgesini) tıklayın.
- Xcode, uygulamayı derleyip 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'de bulunan bir işaretçiyle bir harita görmeniz gerekir.
Sorun giderme:
- Harita görmüyorsanız bir API anahtarı edinip yukarıda açıklandığı gibi uygulamaya eklediğinizden emin olun. API anahtarıyla ilgili hata mesajları için Xcode'un hata ayıklama konsolunu kontrol edin.
- API anahtarını iOS paket tanımlayıcısıyla kısıtladıysanız uygulamanın paket tanımlayıcısını eklemek için anahtarı düzenleyin:
com.google.examples.map-with-marker
. - Kablosuz veya GPS bağlantınızın iyi olduğundan emin olun.
- Günlükleri görüntülemek ve uygulamada hata ayıklamak için Xcode hata ayıklama araçlarını kullanın.
Kodu anlama
- Bir harita oluşturun ve
loadView()
görünümünde bunu 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;
loadView()
içinde 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, kullanıcı bir işaretçiye dokunduğunda bilgi penceresinin içeriğini görüntüler. Varsayılan davranışı kullanmaktan memnunsanız işaretçi için bir tıklama dinleyici eklemeniz gerekmez.
Tebrikler! Belirli bir konumu belirtmek için işaretçiyle birlikte bir Google haritası görüntüleyen bir iOS uygulaması oluşturdunuz. Ayrıca, iOS için Haritalar SDK'sını nasıl kullanacağınızı öğrendiniz.
Sonraki adımlar
Harita nesnesi ve işaretçilerle neler yapabileceğiniz hakkında daha fazla bilgi edinin.