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. iOS için Haritalar SDK'sındaki en önemli nesne olan harita, işaretçiler ve ç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ö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 birçoğunu açığa çıkarır.

API, eşleştirme 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 haritayla etkileşimler oluşturabilirsiniz.

Bir harita nesnesiyle çalışırken en önemli sınıf GMSMapView sınıfıdır. GMSMapView aşağıdaki işlemleri otomatik olarak yürütür:

  • Google Haritalar hizmetine bağlanılıyor.
  • Harita desenleri indiriliyor.
  • Cihaz ekranında kartlar gösteriliyor.
  • Kaydırma ve yakınlaştırma gibi çeşitli denetimler gösteriliyor.
  • Haritayı hareket ettirerek ve yakınlaştırarak veya uzaklaştırarak kaydırma ve yakınlaştırma hareketlerine yanıt verme.
  • İki parmağınızın hareketlerine, haritanın görüntüleme açısını yatırarak yanıt verme.

Bu otomatik işlemlerin yanı sıra, GMSMapView sınıfının gösterdiği özellikler ve yöntemler aracılığıyla haritanın davranışını ve görünümünü kontrol edebilirsiniz. GMSMapView işaretçiler, zemin döşemeleri ve çoklu çizgiler ekleyip kaldırmanıza, görüntülenen harita türünü değiştirmenize ve GMSCameraPosition sınıfı üzerinden haritada nelerin gösterileceğini kontrol etmenize olanak tanır.

SwiftUI ile Haritalar Oluşturma

SwiftUI, bildirim temelli bir yaklaşım kullanarak kullanıcı arayüzü oluşturmanın ek bir yolunu sunar. SwiftUI'ye farklı tüm görünümlerle birlikte görünümünüzün nasıl görünmesini istediğinizi bildiriyorsunuz. Gerisini sistem halleder. Bir etkinlik veya kullanıcı işlemi nedeniyle temel durumu her değiştiğinde SwiftUI görünümü güncellemeye çalışır.

iOS için Haritalar SDK'sı UIKit temel alınarak geliştirilmiştir ve henüz SwiftUI ile uyumlu bir görünüm sunmamaktadır. SwiftUI'de harita eklemek için UIViewRepresentable veya UIViewControllerRepresentable ile uyumlu olmak gerekir. Daha fazla bilgi için Codelab'e göre SwifUI 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:

    1. Google Cloud Console'da kurma

    2. API anahtarı kullanma

    3. Xcode Projesi oluşturma

  2. AppDelegate cihazınızda API anahtarınızı GMSServices üzerinden provideAPIKey: sınıfına girin.

  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 orta ve yakınlaştırma düzeyini belirten bir GMSCameraPosition nesnesi oluşturun. GMSMapView nesnesini örneklediğinizde GMSCameraPosition nesnesini gerekli parametre olarak iletmeniz gerekir.

    2. Bir GMSMapView sınıfı GMSMapView oluşturup mapWithFrame: kullanarak örnek oluşturun. Bu harita, görünüm denetleyicisinin tek görünümü olarak kullanılacaksa harita çerçevesi olarak CGRectZero kullanılabilir ve 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, Singapur'un merkezindeki bir uygulamaya 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.