Bu genel bakışta, iOS uygulamasına eklenen bir haritanın nasıl yapılandırılacağı açıklanmaktadır. kullanarak iOS için Haritalar SDK'sını kullanabilirsiniz.
Genel Bakış
Uygulamanıza harita ekledikten sonra ilk seçenekleri ve çalışma zamanını yapılandırabilirsiniz. ve Google Haritalar'ı tıklayın. Harita kapsayıcısı eklemeyle ilgili ayrıntılar için bkz. haritası ekleyin.
İlk harita ayarları şunlardır:
- Konum, yakınlaştırma, yön ve yatırma dahil olmak üzere kamera konumu. Görüntüleyin Kamera konumlandırmayla ilgili ayrıntılar için Kamera ve Görünüm.
- Haritanın arka plan rengi.
- Eşleme türü.
- Görüntülenecek kullanıcı arayüzü bileşenleri (ör. yakınlaştırma düğmeleri ve pusula.
- Etkinleştirilecek hareketler.
Çalışma zamanında bu ayarları ve bazı ek ayarları şu şekilde yapılandırabilirsiniz:
"
GMSMapView
nesnesini tanımlayın.
Harita seçenekleri
Harita görünümünüz başlatılırken, yapılandırma seçenekleri
GMSMapViewOptions
Seçenek özellikleri frame
, camera
, mapID
veya backgroundColor
içerir.
Harita Seçenekleri | |
---|---|
kutuyu sürükleyin | Değer:
CGRect Harita çerçevesi. Varsayılan olarak CGRectZero değerine ayarlanır.
|
kamera | Değer:
GMSCameraPosition Varsayılan harita kamerası konumu.
|
mapID | Değer:
GMSMapID Google harita kimliği. İsteğe bağlı parametre.
|
backgroundColor | Değer:
UIColor Varsayılan olarak UIColor.lightGray değerine ayarlanır
|
Harita seçeneklerini yapılandırma
Kendi seçenek özelliklerinizi ayarlayabilir veya örneklenmiş bir
GMSMapViewOptions
değerini doğrudan GMSMapView
öğesine varsayılan değerlerle uygular.
Swift
let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 6) let mapView = GMSMapView(options:options)
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
Aşağıda, varsayılan değerlere sahip bir GMSMapViewOptions
nesnesini iletmeyle ilgili örnek verilmiştir
doğrudan GMSMapView
adlı kullanıcıya gönderilir.
Swift
let options = GMSMapViewOptions() let mapView = GMSMapView(options:options) //initialized with default values
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; //initialized with default values
Arka plan rengini yapılandır
Koyu modda çalışırken veya harita görünümleri arasında geçiş yaparken
varsayılan harita arka plan rengini geçersiz kılın. Bu,
harita seçenekleri backgroundColor
mülkü.
Swift
let options = GMSMapViewOptions() options.backgroundColor = UIColor.yellowColor let mapView = GMSMapView(options:options)
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.backgroundColor = UIColor.yellowColor; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
Harita türleri
Haritanızı çeşitli harita türlerinden birini kullanarak özelleştirebilirsiniz. Bir haritanın türü haritanın genel temsilidir. Örneğin, bir atlas genellikle Sınırları göstermeye odaklanan siyasi haritalar ve aşağıdakileri gösteren yol haritaları bir şehir veya bölgenin tüm yolları. iOS için Haritalar SDK'sı şu harita türleri vardır:
Harita Türü | |
---|---|
Normal | Değer:
kGMSTypeNormal Tipik yol haritası. Yolları, Google'ın geliştirdiği bazı özellikleri gösterir
insanlar ve nehirler gibi önemli doğal özellikler. Yol ve özellik etiketleri
görünür. Harita renk şemasını koyu, açık veya sistem ayarlarına göre ayarlama desteği sunar.
|
Karma | Değer:
kGMSTypeHybrid Yol haritaları eklenmiş uydu fotoğrafı verileri. Yol ve özellik
Etiketler de görünür durumda. |
Uydu | Değer:
kGMSTypeSatellite Uydu fotoğrafı verileri. Yol ve özellik etiketleri
görünür.
|
Arazi | Değer:
kGMSTypeTerrain Topoğrafik veriler. Harita renkler, kontur çizgileri ve etiketler içerir,
perspektif gölgelendirmesini kullanın. Bazı yollar ve etiketler de görünür. Destekler
harita renk şemasını koyu veya açık olarak ayarlayabilir ya da sistem ayarlarına uyarlayabilirsiniz.
|
Yok | Değer:
kGMSTypeNone Harita parçası yok. Temel harita parçaları oluşturulmayacak. Bu mod
kutuyla birlikte kullanışlıdır
katmanları arasından seçim yapabilirsiniz. Trafik verilerinin görüntülenmesi, harita türü şu durumlarda devre dışıdır:
hiçbirini yok olarak ayarlayabilirsiniz. |
Harita türünü değiştirme
Harita türünü ayarlamak için GMSMapView.mapType
öğesine yeni bir değer atayın
Örneğin, bir uydu haritası türünü görüntülemek için:
Swift
let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 6) let mapView = GMSMapView(options:options) mapView.mapType = .satellite
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; mapView.mapType = kGMSTypeSatellite;
Aşağıdaki seçici, Google Haritalar'daki arazi, normal ve karma haritaların aynı konum:
İç Mekan Haritaları
Yüksek yakınlaştırma düzeylerinde, iOS için Haritalar SDK'sı şunun için kat planlarını gösterir:
havalimanları, alışveriş merkezleri, büyük mağazalar ve toplu taşıma gibi iç mekan alanları
istasyonlar. İç mekan kat planları, her bir konum için varsayılan harita döşemelerine entegre edilmiştir.
"normal" [normal] harita türü (kGMSTypeNormal
) vardır ve
Harita uzaklaştırıldığında kullanıcı görüntüyü yakınlaştırır ve uzaklaşır.
Şu öğenin indoorEnabled
özelliğini ayarlayarak iç mekan haritalarını devre dışı bırakabilirsiniz:
GMSMapView
- NO
.
Swift
mapView.isIndoorEnabled = false
Objective-C
mapView.indoorEnabled = NO;
Alternatif olarak, sadece Taban Seçici kontrolü.
Kat planları ekleniyor
Kat planları belirli konumları için de ekleyebilirsiniz. Yapmak istediğiniz binanın kat planı verileri mevcut değilse aşağıdaki işlemleri yapabilirsiniz:
- Kat ekle planlar Google Haritalar'a gönderebilirsiniz. Bu sayede, planlarınız şuradaki tüm kullanıcılara sunulur: Google Haritalar.
- Bir kat planını Yer Yerleşimi olarak görüntüleyin. Bu durumda yalnızca kat planlarınızı görüntülemeleri için reklamları görüntüler.
Trafik katmanı
Kullanıcılarınıza haritayı trafik yoğunluğuyla birlikte görüntüleme imkanı sunabilirsiniz
bindirilmiş bilgi içerir. Bu sayede yerel trafik durumuna dair görsel bir özet elde edebilirsiniz. Trafik katmanını açmak ve kapatmak için
"the"
trafficEnabled
yöntemidir. Aşağıdaki örnekte, trafik katmanının bir harita üzerinde nasıl görünebileceği gösterilmektedir.
Erişilebilirlik
Haritadaki erişilebilirlik öğeleri varsayılan olarak gizlenir. GMSMapView
mülkündeki accessibilityElementsHidden
özelliğini NO
olarak ayarlayarak erişilebilirliği etkinleştirebilirsiniz. Bu durumda,
yer paylaşımlı nesneler (ör. GMSMarker
ve bilgi pencereleri, GMSPolyline
vb.)
Swift
mapView.accessibilityElementsHidden = false
Objective-C
mapView.accessibilityElementsHidden = NO;
Bu özellik, resmi olmayan UIAccessibility
protokolüne göredir, ancak
iOS için Haritalar SDK'sında varsayılan değer YES
değeridir.
Konumum
Varsayılan olarak haritada konum verisi gösterilmez. Bu düğmeyi tıklayarak mavi renkli "My
Konum" myLocationEnabled
özelliğini açarak nokta ve pusula yönü
GMSMapView
.
Swift
mapView.isMyLocationEnabled = true
Objective-C
mapView.myLocationEnabled = YES;
Bu özellik etkinleştirildiğinde, kullanıcının
myLocation
mülk. Bu mülk hemen kullanılamıyor olabilir - için
örneğin, iOS tarafından kullanıcıdan bu verilere erişim izni vermesi istenir. Evet
Bu durumda nil
.
Swift
print("User's location: \(String(describing: mapView.myLocation))")
Objective-C
NSLog(@"User's location: %@", mapView.myLocation);
3D binalar
Yakından bakıldığında birçok şehirde 3D binalar görünür ve böylelikle aşağıdaki Seattle, Washington resminde.
3D binaları devre dışı bırakmak için ilgili binayı
GMSMapView
mülkü olan Swift veya Objective-C'de bulabilirsiniz:
Swift
mapView.isBuildingsEnabled = false
Objective-C
[mapView setBuildingsEnabled:NO];
Harita dolgusu
Google Haritası, GMSMapView
tarafından belirlenen tüm bölgeyi dolduracak şekilde tasarlanmıştır.
Haritanın görünümü ve davranışının birçok yönü boyutlarla tanımlanır
görünüm:
- Kameranın hedefi, dolgulu bölgenin ortasını yansıtır.
- Harita denetimleri haritanın kenarlarına göre konumlandırılır.
- Telif hakkı beyannameleri veya Google logosu gibi yasal bilgiler, bir düğme ekleyin.
Haritanın kenarlarına dolgu eklemek için
GMSMapView
padding
mülkünü seçin. Harita doldurulmaya devam ediyor
Ancak, metin ve konumlandırmayı, harita hareketlerini ve kamerayı kontrol etme
hareketler daha küçük bir alana yerleştirilmiş gibi davranır. Bu durum,
aşağıdaki değişiklikler yapılır:
- API çağrıları veya düğmelere basılan kamera hareketleri (ör. pusula, durumu) dolgulu bölgeye göre belirlenir.
GMSMapView
.projection
, yalnızca dolgulu bölge.- Kullanıcı arayüzü kontrolleri, kapsayıcı kenarından belirtilen sayıda nokta kadar kaydırılır.
Boşluk, haritanın bir kısmıyla çakışan kullanıcı arayüzleri tasarlarken yararlı olabilir. Örneğin, resimde, harita üst ve sağ kenarlar boyunca doldurulur. Görünür harita denetimleri ve yasal metin, dolgu malzemesinin kenarlarında görüntülenir harita tüm kapsayıcıyı doldurmaya devam ederken yeşil renkte mavi renkte gösterilir. Bu örnekte, harita denetimlerini gizlemeden haritanın sağ tarafına bir menü yerleştirebilirsiniz.
Haritanıza dolgu eklemek için bir UIEdgeInsets
nesnesi oluşturun ve bunu
GMSMapView
.padding
mülkünü.
Swift
// Insets are specified in this order: top, left, bottom, right let mapInsets = UIEdgeInsets(top: 100.0, left: 0.0, bottom: 0.0, right: 300.0) mapView.padding = mapInsets
Objective-C
// Insets are specified in this order: top, left, bottom, right UIEdgeInsets mapInsets = UIEdgeInsetsMake(100.0, 0.0, 0.0, 300.0); mapView.padding = mapInsets;
Harita renk şeması
Normal ve arazi türündeki haritalar için harita renk şemasını koyu, açık veya mevcut sistem ayarlarını kullanacak şekilde ayarlayabilirsiniz. Örneğin, renkleri koyulaştırabilir veya günün saatine veya iç ya da dış mekan kullanımına göre harita renk şemasını açar ekleyebilirsiniz.
GMSMapView
overrideUserInterfaceStyle:
kullanın
renk şemasını ayarlamak ve güncellemek için.
Swift
let options = GMSMapViewOptions() // Map is init to use light mode by default. let mapView = GMSMapView(options: options) // Set map to use dark mode. mapView.overrideUserInterfaceStyle = .dark // Set map to use light mode. mapView.overrideUserInterfaceStyle = .light // Set map to use dark/light mode based on the value of traitCollection.userInterfaceStyle mapView.overrideUserInterfaceStyle = .unspecified
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; // Map is init to always use light mode. GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; // Set map to use dark mode. mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleDark; // Set map to use light mode. mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; // Set map to use dark/light mode based on the value of traitCollection.userInterfaceStyle mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleUnspecified;