Harita ekle

Platform seçin: Android iOS JavaScript

Haritalar, API'de UIView alt sınıfı olan GMSMapView sınıfıyla gösterilir. Harita, iOS için Haritalar SDK'sındaki en önemli nesnedir ve işaretçiler ve çoklu çizgiler gibi diğer nesneleri eklemek, kaldırmak ve yönetmek için gerekli yöntemleri sunar.

Giriş

iOS için Haritalar SDK'sı, iOS uygulamanızda bir Google haritası görüntülemenize olanak tanır. Bu haritalar, Google Haritalar iOS uygulamasında gördüğünüz haritalarla aynı görünüme sahiptir ve SDK, aynı özelliklerin çoğunu sunar.

API, eşleme işlevinin yanı sıra iOS kullanıcı arayüzü modeliyle tutarlı olan bir dizi etkileşimi de destekler. Örneğin, dokunma ve iki kez dokunma gibi kullanıcı hareketlerine tepki veren katılımcılar tanımlayarak haritayla etkileşimler oluşturabilirsiniz.

Harita nesnesiyle çalışırken anahtar sınıfı GMSMapView sınıfıdır. GMSMapView, aşağıdaki işlemleri otomatik olarak gerçekleştirir:

  • Google Haritalar hizmetine bağlanılıyor.
  • Harita desenleri indiriliyor.
  • Kutular cihaz ekranında görüntüleniyor.
  • Kaydırma ve yakınlaştırma gibi çeşitli denetimler görüntüleniyor.
  • Haritayı hareket ettirerek ve yakınlaştırarak veya uzaklaştırarak kaydırma ve yakınlaştırma hareketlerine yanıt verme.
    • Haritanın görüntüleme açısını yatırarak iki parmakla yapılan hareketleri yanıtlama.

Bu otomatik işlemlere ek olarak, haritanın davranışını ve görünümünü, GMSMapView sınıfının gösterdiği özellikler ve yöntemler aracılığıyla kontrol edebilirsiniz. GMSMapView, GMSCameraPosition sınıfı aracılığıyla işaretçiler, zemin yer örtüleri ve çoklu çizgileri ekleyip kaldırmanıza, görüntülenen harita türünü değiştirmenize ve haritada gösterilenleri kontrol etmenize olanak tanır.

SwiftUI ile harita oluşturma

SwiftUI, bildirim temelli bir yaklaşımla kullanıcı arayüzü oluşturmak için ek bir yöntem sunar. SwiftUI'ya görünümün, farklı durumlarla birlikte nasıl görünmesini istediğinizi söylersiniz ve gerisini sistem halleder. SwiftUI, bir etkinlik veya kullanıcı işlemi nedeniyle temel durum değiştiğinde görünüm güncelleme işlemini gerçekleştirir.

iOS için Haritalar SDK'sı, UIKit temel alınarak geliştirilmiştir ve SwiftUI uyumlu bir görünüm sunmaz. SwiftUI'da harita eklemek için UIViewRepresentable veya UIViewControllerRepresentable kurallarına uyulmalıdır. Daha fazla bilgi edinmek için Codelab SwiftUI ile iOS uygulamanıza harita ekleme bölümüne bakın.

Harita ekleme

Harita eklemek için temel adımlar şunlardır:

  1. SDK'yı almak, API anahtarı edinmek ve gerekli çerçeveleri eklemek için aşağıdaki adımları uygulayın:

    1. Google Cloud Console'da ayarlayın

    2. API anahtarı kullanma

    3. Xcode Projesi oluşturun

    4. AppDelegate sayfanızda API anahtarınızı GMSServices üzerindeki provideAPIKey: sınıf yöntemine sağlayın.

    5. ViewController oluşturun veya güncelleyin. Harita, bu görünüm denetleyicisi görünür hale geldiğinde gösteriliyorsa viewDidLoad yöntemini kullanarak oluşturduğunuzdan emin olun.

    6. Harita görünümünüzü başlatırken GMSMapViewOptions ile yapılandırma seçeneklerini ayarlayın. Özellikler arasında frame, camera, mapID,backgroundColor veya screen bulunur.

    7. Harita seçenekleri camera mülkünüzü bir GMSCameraPosition nesnesiyle ayarlayın. Bu, haritanın ortasını ve yakınlaştırma düzeyini belirtir.

    8. GMSMapView options: yöntemini kullanarak bir GMSMapView sınıfı oluşturun ve somutlaştırın. Bu harita, görünüm denetleyicisinin tek görünümü olarak kullanılacaksa, frame adlı harita seçeneğinin varsayılan değeri CGRectZero frame görünümü olarak kullanılabilir. Harita otomatik olarak yeniden boyutlandırılır.

    9. GMSMapView nesnesini görünüm denetleyicisinin görünümü olarak ayarlayın. Örneğin, self.view = mapView;.

Aşağıdaki örnekte, merkezi Singapur şehir merkezinde olan bir harita bir uygulamaya eklenmiştir.

Swift

import GoogleMaps

class MapObjects : UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    let options = GMSMapViewOptions()
    options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    options.frame = self.view.bounds;

    let mapView = GMSMapView(options:options)
    self.view = mapView
  }
}

Objective-C

- (void)viewDidLoad {
  [super viewDidLoad];

  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                        longitude:103.848
                                                             zoom:12];
  options.frame = self.view.bounds;

  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  self.view = mapView;
}

Bu adımları uyguladıktan sonra GMSMapView nesnesini daha ayrıntılı yapılandırabilirsiniz.

Sırada ne var?

Bu adımları tamamladıktan sonra harita ayarlarını yapılandırabilirsiniz.