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ı şunları içerir:
- Konum, yakınlaştırma, yönlendirme ve yatırma gibi kamera konumu. Görüntüleyin Kamera konumlandırmayla ilgili ayrıntılar için Kamera ve Görünüm.
- Harita 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 şunları içerir: frame
, camera
, mapID
veya
backgroundColor
.
Harita Seçenekleri | |
---|---|
kutuyu sürükleyin | Değer:
CGRect Harita çerçevesi. Varsayılan olarak CGRectZero'dur.
|
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ın koyu, açık, renk
veya sistem ayarlarını
izlemek isteyebilirsiniz.
|
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 durumdadı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 yerler'e gidin. 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, görevlere ilişkin
görsel bir özet sağlar
yerel trafik durumuna göre değişebilir. 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. Şunları etkinleştirebilirsiniz:
ve erişilebilirlik için accessibilityElementsHidden
özelliğini ayarlayarak
GMSMapView
- NO
. 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 merkezini 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ündeki her mülk. 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ü denetimlerinin, kapsayıcının kenarından belirtilen puandır.
Haritanın bir kısmıyla çakışan kullanıcı arayüzleri tasarlarken dolgu 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, bir menüyü ekranın sağ üst tarafına harita kontrollerini kullanabilirsiniz.
Haritanıza dolgu eklemek için bir UIEdgeInsets
nesnesi oluşturun ve bunu
GMSMapView
.padding
mülk.
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 haritalarda, harita renk şemasını koyu, ışığı veya mevcut sistem ayarlarını kullanmayı seçebilirsiniz. Ö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;