Harita ekleme

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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ının en önemli nesnesidir ve işaretçiler, çoklu çizgiler gibi diğer nesnelerin eklenmesi, kaldırılması ve yönetilmesi için gerekli yöntemleri sağlar.

Giriş

iOS için Haritalar SDK'sı, iOS uygulamanızda bir Google 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 birçoğunu sergiler.

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

Bir 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 kutuları indiriliyor.
  • Kart, cihaz ekranında gösteriliyor.
  • Kaydırma ve yakınlaştırma gibi çeşitli kontroller 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 hareketlere yanıt verme.

Bu otomatik işlemlerin yanı sıra, GMSMapView sınıfının gösterdiği özellikler ve yöntemler yoluyla haritanın davranışını ve görünümünü kontrol edebilirsiniz. GMSMapView, işaretçiler, zemin bindirmeleri ve çoklu çizgiler eklemenize ve kaldırmanıza, görüntülenen harita türünü değiştirmenize ve GMSCameraPosition sınıfı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 yol sunar. SwiftUI'ye görünümünüzün tüm farklı durumları ile birlikte nasıl görünmesini istediğinizi bildirirsiniz. Gerisini sistem halleder. SwiftUI, bir etkinlik veya kullanıcı işlemi nedeniyle temel durumu değiştiğinde görünümü güncelleme işlemini işler.

iOS için Haritalar SDK'sı, UIKit üzerine inşa edilmiştir ve henüz SwiftUI uyumlu bir görünüm sağlamaz. SwiftUI'de harita eklemek için UIViewRepresentable veya UIViewControllerRepresentable şartlarına uymanız gerekir. Daha fazla bilgi için Codelab'e göz atın ve SwifUIUI ile iOS uygulamanıza harita ekleme konusuna bakın.

Harita ekleme

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

  1. SDK'yı edinmek için bir API anahtarı edinin ve gerekli çerçeveleri ekleyin. Ardından aşağıdaki adımları uygulayın:

    1. Google Cloud Console'da kurma

    2. API anahtarı kullanma

    3. Xcode projesi oluşturma

  2. AppDelegate içinde, API anahtarınızı GMSServices web sitesindeki provideAPIKey: sınıf yöntemine sağlayın.

  3. ViewController oluşturun veya güncelleyin. Bu görünüm denetleyicisi görünür hale geldiğinde harita görüntülenirse, loadView yöntemini kullanarak oluşturduğunuzdan emin olun.

    1. Haritanın merkezini ve yakınlaştırma düzeyini belirten bir GMSCameraPosition nesnesi oluşturun. GMSMapView nesnesini örneklediğinizde GMSCameraPosition nesnesini zorunlu bir parametre olarak iletmeniz gerekir.

    2. GMSMapView mapWithFrame: yöntemini kullanarak bir GMSMapView sınıfı oluşturup örnekleyin. Bu harita görünüm denetleyicisinin tek görünümü olarak kullanılacaksa, CGRectZero, haritanın çerçevesi olarak kullanılabilir. Harita otomatik olarak yeniden boyutlandırılır.

    3. GMSMapView nesnesini, görünüm denetleyicisinin görünümü olarak ayarlayın (ör. self.view = mapView;).

Aşağıdaki örnekte, bir uygulamaya Singapur şehir merkezinin merkezinde yer alan bir harita eklenmiştir.

Swift

import GoogleMaps

class MapObjects : UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()
    let camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    let mapView = GMSMapView(frame: .zero, camera: camera)
    self.view = mapView
  }
}
      

Objective-C

#import "MapObjects.h"
@import GoogleMaps;

@implementation MapObjects

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  self.view = mapView;
}

@end
      

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.