Harita ekleme

Platform seçin: Android iOS JavaScript

Haritalar, API'de UIView'ü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 Google Haritalar haritası göstermenize 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 işlevinin yanı sıra 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 haritayla etkileşimler ayarlayabilirsiniz.

Harita nesnesiyle çalışırken kullanılan ana 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österiliyor.
  • Kaydırma ve yakınlaştırma gibi çeşitli kontrolleri görüntüleme.
  • 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 parmak hareketine yanıt verme.

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. İşaretçi, yer paylaşımları ve çoklu çizgiler ekleyip kaldırmak, görüntülenen haritanın türünü değiştirmek ve haritada gösterilenleri GMSCameraPosition sınıfı üzerinden kontrol etmek için GMSMapView sınıfını kullanın.

SwiftUI ile harita oluşturma

SwiftUI, bildirim temelli bir yaklaşım kullanarak 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 tüm farklı durumlarını 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 kuruludur ve SwiftUI ile uyumlu bir görünüm sunmaz. SwiftUI'da harita eklemek için UIViewRepresentable veya UIViewControllerRepresentable protokolüne uymak gerekir. Daha fazla bilgi için SwiftUI ile iOS uygulamanıza harita ekleme başlıklı codelab'i inceleyin.

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 adımları uygulayın:

    1. Google Cloud Console'da kurulum

    2. API anahtarı kullanma

    3. Xcode projesi oluşturma

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

    5. ViewController oluşturun veya güncelleyin. Bu görünüm denetleyicisi görünür olduğunda harita gösteriliyorsa haritayı 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 arasında frame, camera, mapID,backgroundColor veya screen yer alır.

    7. Harita seçenekleri camera özelliğinizi bir GMSCameraPosition nesnesiyle ayarlayın. Bu, haritanın merkezini ve yakınlaştırma seviyesini belirtir.

    8. GMSMapView yöntemini kullanarak bir GMSMapView sınıfı oluşturun ve örneklendirin. options: 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 frame olarak kullanılabilir. Harita otomatik olarak yeniden boyutlandırılır.

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

Aşağıdaki örnekte, Singapur şehir merkezini gösteren 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 nesnesini daha ayrıntılı şekilde yapılandırabilirsiniz.

Sırada ne var?

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