Harita ekleme

Platform seçin: Android iOS JavaScript

Haritalar, API'de UIView sınıfının bir 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 ile ç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 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 kullanıma sunar.

API, harita işlevine ek olarak iOS kullanıcı arayüzü modeliyle tutarlı bir dizi etkileşimi de destekler. Örneğin, dokunma ve çift dokunma gibi kullanıcı hareketlerine tepki veren yanıtlayıcılar tanımlayarak haritayla etkileşimleri ayarlayabilirsiniz.

Bir Harita nesnesiyle çalışırken kullanılan 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ğlanma
  • Harita parçaları indiriliyor.
  • Cihaz ekranında kartları gösterme
  • 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ı eğerek iki parmakla yapılan hareketlere yanıt verme.

Bu otomatik işlemlerin yanı sıra, GMSMapView sınıfı tarafından kullanıma sunulan özellikler ve yöntemler aracılığıyla haritanın davranışını ve görünümünü kontrol edebilirsiniz. GMSMapView kullanarak işaretçi, yer paylaşımı ve çoklu çizgi ekleyip kaldırabilir, gösterilen harita türünü değiştirebilir ve GMSCameraPosition sınıfı aracılığıyla haritada gösterilenleri kontrol edebilirsiniz.

SwiftUI ile Haritalar Oluşturma

SwiftUI, bildirim temelli bir yaklaşımla kullanıcı arayüzü oluşturmanın ek bir yolunu sunar. SwiftUI'a görünümünüzün nasıl görünmesini istediğinizi ve görünümünüzün farklı durumlarını söylersiniz, sistem de gerisini halleder. SwiftUI, temel durum bir etkinlik veya kullanıcı işlemi nedeniyle her değiştiğinde görünümü günceller.

iOS için Haritalar SDK'sı UIKit üzerine kurulmuştur ve SwiftUI ile uyumlu bir görünüm sağlamaz. SwiftUI'da harita eklemek için UIViewRepresentable veya UIViewControllerRepresentable protokolüne uymanız gerekir. Daha fazla bilgi edinmek için SwiftUI ile iOS uygulamanıza harita ekleme codelab'ine bakın.

Harita ekleme

Harita eklemenin temel adımları şunlardır:

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

    1. Google Cloud Console'da kurulum

    2. API anahtarı kullanma

    3. Xcode projesi oluşturma

    4. AppDelegate içinde, GMSServices üzerinde provideAPIKey: sınıfı yöntemine API anahtarınızı sağlayın.

    5. ViewController oluşturun veya güncelleyin. Bu görünüm denetleyicisi görünür hale geldiğinde harita gösteriliyorsa haritayı viewDidLoad yöntemi içinde 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. frame, camera, mapID,backgroundColor veya screen gibi özellikler.

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

    8. GMSMapView options: yöntemini kullanarak bir GMSMapView sınıfı oluşturun ve örneğini oluşturun. Bu harita, görünüm denetleyicisinin tek görünümü olarak kullanılacaksa harita seçeneği frame varsayılan değeri CGRectZero görünüm olarak kullanılabilir frame. Haritanın boyutu otomatik olarak ayarlanı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 merkezinde ortalanmış bir harita uygulamaya ekleniyor.

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ı bir şekilde yapılandırabilirsiniz.

Sırada ne var?

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