Harita ekleme

Platform seçin: Android iOS JavaScript

Haritalar, API'de UIView alt sınıfı olan GMSMapView sınıfıyla temsil edilir. 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 sağlar.

Giriş

iOS için Haritalar SDK'sı, iOS uygulamanızda 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, harita oluşturma işlevine ek olarak iOS kullanıcı arayüzü modeliyle tutarlı bir dizi etkileşimi de destekler. Örneğin, dokunma ve iki kez dokunma gibi kullanıcı hareketlerine tepki veren yanıtlayıcılar tanımlayarak haritalarla etkileşimi ayarlayabilirsiniz.

Bir Map nesnesi ile çalışırken anahtar sınıfı GMSMapView sınıfıdır. GMSMapView aşağıdaki işlemleri otomatik olarak işler:

  • Google Haritalar hizmetine bağlanma.
  • Harita karoları indiriliyor.
  • Cihaz ekranında kartları görüntüleme.
  • Kaydırma ve yakınlaştırma gibi çeşitli kontrolleri gösterme.
  • Haritayı hareket ettirerek ve yakınlaştırıp uzaklaştırarak kaydırma ve yakınlaştırma hareketlerine yanıt verme.
    • Haritanın görüntüleme açısını değiştirerek iki parmaklı hareketlere yanıt verebilirsiniz.

Bu otomatik işlemlere ek olarak, GMSMapView sınıfı tarafından sunulan özellikler ve yöntemler aracılığıyla haritanın davranışını ve görünümünü kontrol edebilirsiniz. GMSMapView, işaretçiler, yer yer paylaşımları ve çoklu çizgiler eklemenize, kaldırılmanıza, gösterilen harita türünü değiştirmenize ve GMSCameraPosition sınıfı aracılığıyla haritada gösterilenleri kontrol etmenize olanak tanır.

SwiftUI ile Haritalar oluşturma

SwiftUI, açıklayıcı bir yaklaşım kullanarak kullanıcı arayüzü oluşturmanın ek bir yolunu sunar. SwiftUI'ye görünümünüzün nasıl görünmesini istediğinizi ve tüm farklı durumlarını belirtirsiniz. Gerisi sistem tarafından halledilir. SwiftUI, temel durum bir etkinlik veya kullanıcı işlemi nedeniyle değiştiğinde görünümü güncellemeyi yönetir.

iOS için Haritalar SDK'sı, UIKit üzerine kuruludur ve SwiftUI uyumlu bir görünüm sağlamaz. SwiftUI'de harita eklemek için UIViewRepresentable veya UIViewControllerRepresentable'ye uymanız gerekir. Daha fazla bilgi edinmek için SwiftUI ile iOS uygulamanıza harita ekleme konulu Codelab'i inceleyin.

Harita ekleme

Harita eklemeyle ilgili temel adımlar şunlardır:

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

    1. Google Cloud Console'da ayarlama

    2. API anahtarı kullanma

    3. Xcode projesi oluşturma

    4. AppDelegate dosyanı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üntüleme denetleyicisi görünür hale geldiğinde gösteriliyorsa viewDidLoad yönteminde oluşturduğunuzdan emin olun.

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

    7. GMSCameraPosition nesnesi ile harita seçenekleri camera özelliğini ayarlayın. Bu, haritanın merkezini ve yakınlaştırma düzeyini belirtir.

    8. GMSMapView sınıfını oluşturup GMSMapView sınıfını options: yöntemini kullanarak örneklendirin. Bu harita, görüntüleme denetleyicisinin tek görünümü olarak kullanılacaksa harita seçeneği frame için varsayılan değer olan CGRectZero, görünüm frame 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, Singapur şehir merkezinin ortasına yerleştirilmiş bir harita uygulamaya eklenmektedir.

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 objesini daha da yapılandırabilirsiniz.

Sırada ne var?

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