Harita ekle

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 nesnelerin eklenmesi, kaldırılması ve yönetilmesi için gerekli yöntemler 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'da aynı özelliklerin birçoğu bulunur.

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 ayarlayabilirsiniz.

Bir Harita nesnesiyle çalışırken anahtar sınıfı GMSMapView sınıfıdır. GMSMapView, şu işlemleri otomatik olarak işler:

  • Google Haritalar hizmetine bağlanılıyor.
  • Harita parçaları indiriliyor.
  • Kartlar cihaz ekranında gösteriliyor.
  • Kaydırma ve yakınlaştırma gibi çeşitli denetimler gösteriliyor.
  • Haritayı hareket ettirip 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 hareketlere yanıt verme.

Bu otomatik işlemlere ek olarak, GMSMapView sınıfı tarafından gösterilen özellikler ve yöntemler aracılığıyla haritanın davranışını ve görünümünü kontrol edebilirsiniz. GMSMapView işaretçiler, zemin örtüleri ve çoklu çizgiler ekleyip kaldırma, 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, bildirim temelli bir yaklaşım kullanarak kullanıcı arayüzü oluşturmak için ek bir yöntem sunar. SwiftUI'ye görünümün tüm farklı durumlarıyla birlikte nasıl görünmesini istediğinizi söylersiniz, gerisini sistem halleder. SwiftUI, bir etkinlik veya kullanıcı işlemi nedeniyle temel durum 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'de harita eklemek için UIViewRepresentable veya UIViewControllerRepresentable kurallarına uyulması gerekir. Daha fazla bilgi için Codelab SwiftUI ile iOS uygulamanıza harita ekleme bölümünü inceleyin.

Harita ekleme

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

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

    1. Google Cloud Console'da kurma

    2. API anahtarı kullanma

    3. Xcode Projesi oluşturma

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

    5. Bir ViewController oluşturun veya güncelleyin. Harita, bu görünüm denetleyicisi görünür olduğunda görüntülenirse bunu viewDidLoad yöntemi ile 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. Mülkler arasında frame, camera, mapID,backgroundColor veya screen bulunur.

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

    8. GMSMapView options: yöntemini kullanarak bir GMSMapView sınıfı oluşturma ve örneklendirme. Bu harita, görüntüleme denetleyicisinin tek görünümü olarak kullanılacaksa harita seçeneğinin frame 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, bir uygulamaya Singapur şehir merkezinde ortalanan bir harita 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 fazla yapılandırabilirsiniz.

Sırada ne var?

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