iOS için Haritalar SDK'sıyla, haritanın kamerasını değiştirerek kullanıcının haritadaki bakış açısını değiştirebilirsiniz.
iOS için Haritalar SDK'sı sayesinde kullanıcılarınız, haritalarını bağlam için faydalı bir yöne doğru ayarlamak üzere yatırabilir ve döndürebilir. Herhangi bir yakınlaştırma düzeyinde, kullanıcılar haritayı kaydırabilir veya çok az gecikmeyle perspektifini değiştirebilir.
Kamera üzerinde yapılan değişiklikler, işaretçileri, çoklu çizgileri veya eklediğiniz diğer grafikleri değiştirmez. Bununla birlikte, bu eklemeleri yeni görünüme daha uygun olacak şekilde değiştirmek isteyebilirsiniz.
Haritanın görünümü
iOS için Haritalar SDK'sı, cihazınızın ekranındaki (bir düzlem) dünyanın yüzeyini (bir küre) temsil etmek üzere Mercator projeksiyonunu kullanır.
Kamera konumu
Harita görünümü, düz bir düzleme bakan bir kamera olarak modellenmiştir. Kameranın konumu (dolayısıyla haritanın oluşturulması) şu özellikler tarafından belirlenir: hedef (enlem/boylam konumu), yatay, yatırma ve yakınlaştırma.

Hedef (konum)
Kamera hedefi, enlem ve boylam koordinatları olarak belirtilen, harita merkezinin bulunduğu konumdur.
Enlem, -85 ile 85 derece arasında (bu değerler dahil) olabilir. Bu aralığın üstündeki veya altındaki değerler, bu aralıktaki en yakın değere sabitlenir. Örneğin, 100'lük bir enlem değeri 85 olarak ayarlanır. Boylamlar -180 ve 180 derece arasında değişir. Bu aralığın üstündeki veya altındaki değerler, (-180, 180) aralığına denk gelecek şekilde sarmalanır. Örneğin 480, 840 ve 1200, 120 dereceye sarmalanır.Taşınma (yön)
Kamera yönü, gerçek kuzey yönünden haritanın üst kenarına karşılık gelen pusula yönünü belirtir. Haritanın ortasından üst kenarına kadar bir dikey çizgi çizerseniz, pozisyon, kuzeydeki gerçek kuzeye göre kamera başlığına (derece cinsinden) karşılık gelir.
0 konumu, haritanın üst bölümünün doğru kuzeyi işaret ettiği anlamına gelir. 90 değeri değeri, doğudaki harita noktalarının üst kısmı (pusulada 90 derece) anlamına gelir. Değer 180, güneydeki harita noktalarının üst kısmıdır.
Maps API, bir konumun konumunu değiştirmenize olanak tanır. Örneğin, sıklıkla araba kullanan biri, bir yol haritasını seyahat yönüyle uyumlu olacak şekilde dönüştürürken, yürüyüşçüler genellikle harita kullanır ve pusula kuzeye işaret eder.
Yatırma (görüntüleme açısı)
Eğme, kameranın konumunu bir kemerin doğrudan haritadaki konumunun üzerinde tanımlar ve nadir özelliğinin kameranın hemen altında olduğunu gösterir. 0 değeri, hemen aşağıyı gösteren bir kameraya karşılık gelir. 0'dan büyük değerler, belirtilen derece cinsinden ufuğa doğru yerleştirilmiş bir kameraya karşılık gelir. Görüntüleme açısını değiştirdiğinizde harita, uzak özellikler daha küçük, yakındaki özellikler ise daha büyük görünür. Aşağıdaki çizimler bunu göstermektedir.
Aşağıdaki resimlerde görüntüleme açısı 0 derecedir. İlk resimde bunun bir şeması gösterilmektedir. 1 konumu kamera konumu, 2 konumu ise mevcut harita konumudur. Elde edilen harita onun altında gösterilir.
![]() |
![]() |
Aşağıdaki resimlerde görüntüleme açısı 45 derecedir. Kameranın, yay üzerinde düz bir şekilde yukarıdan (0 derece) ve yerden (90 derece) 3 konuma geleceğine dikkat edin. Kamera hâlâ haritanın merkez noktasını işaret ediyor ancak çizginin 4. konumunda temsil ettiği alan artık görünür.
![]() |
![]() |
Bu ekran görüntüsündeki harita, orijinal haritadakiyle aynı noktada ortalanmaktadır, ancak haritanın üst kısmında daha fazla özellik görünmektedir. Açı 45 dereceden yüksek olduğunda, kamera ile harita konumu arasındaki özellikler orantılı olarak daha büyük görünürken harita konumu ötesindeki özellikler orantılı olarak daha küçük görünür ve üç boyutlu efekt oluşturur.
Tarih aralığını
Kameranın yakınlaştırma düzeyi haritanın ölçeğini belirler. Büyük yakınlaştırma düzeylerinde ekranda daha fazla ayrıntı, daha küçük yakınlaştırma düzeylerinde ise dünyanın daha büyük bir kısmı görülebilir. Yakınlaştırma düzeyi 0'da haritanın ölçeği, tüm dünyanın yaklaşık 256 nokta genişliğinde olacağı şekilde ayarlanır.
Yakınlaştırma düzeyini 1 artırmak, ekranın dünya genişliğini iki katına çıkarır. Dolayısıyla, yakınlaştırma düzeyi N'de dünyanın genişliği yaklaşık 256 * 2N noktadır. Örneğin, 2. yakınlaştırma düzeyinde, tüm dünya yaklaşık 1.024 nokta genişliğindedir.
Yakınlaştırma düzeyi bir tam sayı olmamalıdır. Haritanın izin verdiği yakınlaştırma düzeyleri aralığı; hedef, harita türü ve ekran boyutu gibi bir dizi faktöre bağlıdır. Aralık dışındaki herhangi bir sayı, bir sonraki en yakın geçerli değere dönüştürülür. Bu da minimum yakınlaştırma veya maksimum yakınlaştırma düzeyi olabilir. Aşağıdaki listede, her yakınlaştırma düzeyinde görmeyi bekleyebileceğiniz yaklaşık ayrıntı düzeyi gösterilmektedir:
- 1: Dünya
- 5: Karalar/kıta
- 10: Şehir
- 15: Sokaklar
- 20: Binalar
![]() |
![]() |
![]() |
Başlangıçtaki kamera konumunu belirleyin
İlk kamera konumunu ayarlamak için GMSCameraPosition
nesnesini kullanın. Bu nesne, yönü, eğimi ve yakınlaştırmayı kullanarak hedefin enlem ve boylamını ayarlamanıza olanak tanır.
İlk kamera konumunu ayarlamak için bir GMSCameraPosition
nesnesi oluşturun ve bu nesneyi GMSMapView
kullanışlı oluşturucuya iletin.
Swift
let camera = GMSCameraPosition( latitude: -33.8683, longitude: 151.2086, zoom: 16 ) mapView = GMSMapView(frame: self.view.bounds, camera: camera)
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:16]; mapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera];
Varsayılan UIView
init yöntemini kullanarak GMSMapView
nesnesini de oluşturabilirsiniz.
Bu durumda, kamera konumu varsayılan konumda başlar ve oluşturma işleminden sonra konumu değiştirirsiniz.
Swift
mapView = GMSMapView(frame: self.view.bounds)
Objective-C
mapView = [[GMSMapView alloc] initWithFrame:self.view.bounds];
Kamera konumunu değiştirin
Konumu, konumu, yatmayı ve yakınlaştırmayı ayarlamak için kamera konumunu programatik olarak değiştirebilirsiniz. GMSMapView
, kamera konumunu değiştirmek için kullanabileceğiniz çeşitli yöntemler sunarken genellikle GMSCameraPosition
veya GMSCameraUpdate
kullanılır:
GMSCameraPosition
her kamera konumu parametresini değiştirmek için kullandığınız özellikleri ve yöntemleri içerir: hedef, yatak, eğme ve yakınlaştırma.GMSCameraUpdate
; hedef, yatak, eğim ve yakınlaştırmayı değiştirmenize olanak tanır. Ayrıca kaydırma, gelişmiş yakınlaştırma, kamerayı önceden tanımlanmış sınırlara göre ortalama ve diğer özellikleri desteklemek için ek kolaylık yöntemleri de içerir.
Kamerayı hareket ettirdiğinizde kamerayı yeni konuma "yakalamayı", yani animasyon olmadığını veya hareketin animasyonunu seçebilirsiniz. Örneğin, kameranın hedef konumunda bir değişikliği canlandırırsanız animasyon eski konumdan yenisine kaydırılır.
Animasyon, mevcut kamera özellikleri ile yeni kamera özellikleri arasında geçiş yapabilir. Temel Animasyonu kullanarak animasyonun süresini kontrol edebilirsiniz.
GMSCameraPosition
hareketini kullanın
Kamerayı GMSCameraPosition
ile değiştirmek için yeni bir nesne oluşturur veya mevcut bir nesneyi kopyalayıp GMSMapView
nesnesine ayarlarsınız. Kamerayı animasyonla veya animasyon olmadan yeni konuma oturtmak için GMSCameraPosition
nesnesini kullanın.
Enlem, boylam, yakınlaştırma, duruş ve görüntüleme açısı gibi kamera özelliklerini yapılandırmak için bir GMSCameraPosition
nesnesi kullanın. Daha sonra, bu nesneyi GMSMapView
özelliğinin camera
özelliğini ayarlamak için kullanırsınız.
Swift
let fancy = GMSCameraPosition( latitude: -33, longitude: 151, zoom: 6, bearing: 270, viewingAngle: 45 ) mapView.camera = fancy
Objective-C
GMSCameraPosition *fancy = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6 bearing:30 viewingAngle:45]; [mapView setCamera:fancy];
Varsayılan değerine ayarlamak istediğiniz GMSCameraPosition
mülklerini çıkarın.
Taşıma işleminin animasyonunu oluşturmak için camera
özelliğini ayarlamak yerine animateToCameraPosition:
yöntemini kullanın.
GMSCameraUpdate
hareketini kullanın
GMSCameraUpdate
kullanarak kamera konumunu güncelleyebilir ve yeni konuma tutturma veya animasyon ekleme seçimini yapabilirsiniz. GMSCameraUpdate
, kullanım kolaylığıdır. GMSCameraUpdate
ile aynı görevleri gerçekleştirmek için GMSCameraPosition
özelliğini kullanabilirsiniz ancak GMSCameraUpdate
, kamerayı değiştirmeyi kolaylaştırmak için ek yardımcı yöntemler sağlar.
Örneğin, geçerli yakınlaştırma düzeyini artırmak amacıyla GMSCameraPosition
özelliğini kullanmak için önce mevcut yakınlaştırma düzeyini belirlemeniz, ardından yakınlaştırmayı geçerli yakınlaştırmadan daha büyük bir değere ayarlamanız için bir GMSCameraPosition
nesnesi oluşturmanız gerekir.
Alternatif olarak, zoomIn:
yöntemiyle bir GMSCameraUpdate
nesnesi oluşturun. Daha sonra, GMSCameraUpdate
nesnesini GMSMapView
animateWithCameraUpdate:
yöntemine geçirerek kamerayı güncelleyin.
Swift
// Zoom in one zoom level let zoomCamera = GMSCameraUpdate.zoomIn() mapView.animate(with: zoomCamera)
Objective-C
// Zoom in one zoom level GMSCameraUpdate *zoomCamera = [GMSCameraUpdate zoomIn]; [mapView animateWithCameraUpdate:zoomCamera];
Bunun yerine, kamerayı yeni konuma sabitlemek için GMSMapView
moveCamera:
yöntemini kullanın.
Bir sonraki örnekte, kamerayı Vancouver'da ortalamak için bir hareket hareketine animasyon eklemek için GMSCameraUpdate
etiketini kullanıyorsunuz.
Swift
// Center the camera on Vancouver, Canada let vancouver = CLLocationCoordinate2D(latitude: 49.26, longitude: -123.11) let vancouverCam = GMSCameraUpdate.setTarget(vancouver) mapView.animate(with: vancouverCam)
Objective-C
// Center the camera on Vancouver, Canada CLLocationCoordinate2D vancouver = CLLocationCoordinate2DMake(49.26, -123.11); GMSCameraUpdate *vancouverCam = [GMSCameraUpdate setTarget:vancouver]; [mapView animateWithCameraUpdate:vancouverCam];
GMSCameraUpdate
nesnesi oluşturma
Yöntemlerinden birini kullanarak bir GMSCameraUpdate
nesnesi oluşturun.
zoomIn:
vezoomOut:
- Diğer tüm özellikleri aynı tutarken mevcut yakınlaştırma düzeyini 1, 0 değiştirin.
zoomTo:
- Yakınlaştırma düzeyini belirtilen değere değiştirirken diğer tüm özellikleri aynı tutar.
zoomBy:
- Yakınlaştırma oranını belirtilen değerde artırır (veya değer negatifse azaltır).
zoomBy:atPoint:
- Belirtilen noktanın ekrandaki konumunu korurken yakınlaştırma düzeyini belirtilen değere göre artırır (veya değer negatifse azaltır).
setTarget:
- Kameranın enlem ve boylamını değiştirirken diğer tüm özellikleri korur.
setTarget:zoom:
- Diğer tüm özellikleri korurken kameranın enlem, boylam ve yakınlaştırma ayarlarını değiştirir.
setCamera:
- Yeni bir
GMSCameraPosition
ayarlar. scrollByX:Y:
- Haritayı belirtilen nokta sayısına göre hareket ettirmek için kameranın enlem ve boylamını değiştirir. Pozitif bir x değeri, kameranın sağa doğru hareket etmesini sağlar. Böylece, harita sola taşınmış gibi görünür. Pozitif bir y değeri, kameranın aşağı hareket etmesine neden olur. Böylece harita yukarı hareket eder. Kaydırma, kameranın mevcut konumuna göre yapılır. Örneğin, kamera 90 derece yataktaysa doğu "yukarı"dır.
fitBounds:
- Kamerayı, belirtilen sınırları mümkün olan en yüksek yakınlaştırma düzeyinde ortalamak için dönüştürür. 64 noktanın sınırlarına varsayılan bir dolgu uygular.
fitBounds:withPadding:
- Kamerayı, belirtilen sınırları mümkün olan en yüksek yakınlaştırma düzeyinde ortalamak için dönüştürür. Sınırlama kutusunun tüm yanları için noktalarda aynı dolguyu belirtmek üzere bu yöntemi kullanın.
fitBounds:withEdgeInsets:
- Kamerayı, belirtilen sınırları mümkün olan en yüksek yakınlaştırma düzeyinde ortalamak için dönüştürür.
UIEdgeInsets
sayesinde sınırlayıcı kutunun her kenarı için bağımsız olarak dolgu belirtebilirsiniz.
Tek bir mülkü değiştirmek için GMSMapView
özelliğini kullanın
GMSMapView
, GMSCameraPosition
veya GMSCameraUpdate
nesnesi kullanmadan kamerayı hareket ettirmenizi sağlayan çeşitli yöntemler sunar. animateToLocation:
veya animateToZoom:
gibi bu yöntemlerle tek bir kamera mülküne geçiş yapabilirsiniz.
Örneğin, kamera eğimindeki bir değişikliği canlandırmak için toViewingAngle:
yöntemini kullanın.
Swift
mapView.animate(toViewingAngle: 45)
Objective-C
[mapView animateToViewingAngle:45];
Hedef belirleyin (konum)
Konum, haritanın merkezini belirler. Konumlar, enlem ve boylam ile belirtilir ve programatik olarak CLLocationCoordinate2DMake
ile oluşturulan bir CLLocationCoordinate2D
ile temsil edilir.
Konumu değiştirmek için GMSCameraPosition
özelliğini kullanın. Bu örnekte, harita yeni konuma
yeriyor.
Swift
let target = CLLocationCoordinate2D(latitude: -33.868, longitude: 151.208) mapView.camera = GMSCameraPosition(target: target, zoom: 6)
Objective-C
CLLocationCoordinate2D target = CLLocationCoordinate2DMake(-33.868, 151.208); mapView.camera = [GMSCameraPosition cameraWithTarget:target zoom:6];
Değişikliği animasyonlu hale getirmek ve haritayı yeni konuma kaydırmak için camera
özelliğini ayarlamak yerine animateToCameraPosition:
yöntemini kullanabilirsiniz.
İsterseniz GMSMapView
üzerindeki animateToLocation:
yöntemini de kullanabilirsiniz.
Swift
mapView.animate(toLocation: CLLocationCoordinate2D(latitude: -33.868, longitude: 151.208))
Objective-C
[mapView animateToLocation:CLLocationCoordinate2DMake(-33.868, 151.208)];
Kamerayı hareket ettirmek için bir GMSCameraUpdate
nesnesi de oluşturabilirsiniz. Kamerayı X ve Y yönlerinde kaydıracak nokta sayısını belirtmek için yerleşik scrollByX:Y:
yöntemini kullanın. Bu örnekte, kamerayı 200 nokta sağa, 100 nokta aşağı kaydırıyorsunuz:
Swift
// Move the camera 200 points to the right, and 100 points downwards let downwards = GMSCameraUpdate.scrollBy(x: 200, y: 100) mapView.animate(with: downwards)
Objective-C
// Move the camera 200 points to the right, and 100 points downwards GMSCameraUpdate *downwards = [GMSCameraUpdate scrollByX:200.0 Y:100.0]; [mapView animateWithCameraUpdate:downwards];
Yatağı ayarla (yön)
Yön, haritanın üst kenarı için gerçek kuzeyden derece cinsinden ölçülen pusula yönüdür. Örneğin, 90 derecelik bir pozisyon, üst kenarın doğuya doğru geleceği bir haritada sonuç verir.
Rulumu, GMSCameraPosition
veya GMSCameraUpdate
ile programatik olarak veya animateToBearing:
GMSMapView
yöntemiyle ayarlayın.
Swift
mapView.animate(toBearing: 0)
Objective-C
[mapView animateToBearing:0];
Yatırmayı ayarla (görüntüleme açısı)
Görüntüleme açısı, kameranın doğrudan yay üzerinde uzanan Dünya yüzeyi ile Dünya yüzeyi arasındaki yay üzerinde nadir derecesinden (kameranın hemen altına doğru uzanan yön) derece cinsinden ölçülen konumudur. Görüntüleme açısını değiştirdiğinizde, harita perspektif olarak görünür. Kamera ile harita konumu arasındaki oran orantılı olarak daha büyük görünür ve harita konumunun dışındaki özellikler orantılı olarak daha küçük görünerek üç boyutlu bir efekt oluşturur.
Görüntüleme açısı 0 (düzeye doğru aşağı doğru işaret etme) ve yakınlaştırma düzeyinde bağımlı maksimum değere kadar bir aralık olabilir. Yakınlaştırma düzeyi 16 ve üzeri için maksimum açı 65 derecedir. Yakınlaştırma düzeyi 10 ve altı için maksimum açı 30 derecedir.
Görüntüleme açısını GMSCameraPosition
veya GMSCameraUpdate
kullanarak programatik olarak veya animateToViewingAngle:
GMSMapView
yöntemiyle ayarlayın.
Swift
mapView.animate(toViewingAngle: 45)
Objective-C
[mapView animateToViewingAngle:45];
Yakınlaştırmayı ayarla
Kameranın yakınlaştırma düzeyi haritanın ölçeğini belirler. Büyük yakınlaştırma düzeylerinde ekranda daha fazla ayrıntı, daha küçük yakınlaştırma düzeylerinde ise dünyayla ilgili daha fazla ayrıntı görebilirsiniz.
Yakınlaştırmayı GMSCameraPosition
veya GMSCameraUpdate
ile programatik olarak veya animateToZoom:
GMSMapView
yöntemiyle ayarlayın.
Swift
mapView.animate(toZoom: 12)
Objective-C
[mapView animateToZoom:12];
Aşağıdaki örnekte, yakınlaştırma mevcut düzeyden bir seviye artırarak canlandırmak için bir GMSCameraUpdate
nesnesi oluşturmak amacıyla zoomIn:
yöntemi kullanılmaktadır.
Swift
// Zoom in one zoom level let zoomCamera = GMSCameraUpdate.zoomIn() mapView.animate(with: zoomCamera)
Objective-C
// Zoom in one zoom level GMSCameraUpdate *zoomCamera = [GMSCameraUpdate zoomIn]; [mapView animateWithCameraUpdate:zoomCamera];
Sınırları belirlemek
Kamerayı, ilgilendiğiniz bir alanın tamamı mümkün olan en yüksek yakınlaştırma düzeyinde görünecek şekilde taşımak için, kamera görünümünün sınırlarını belirleyin. Örneğin, kullanıcının bulunduğu konuma en fazla beş kilometre uzaklıkta bulunan tüm benzin istasyonlarını görüntülemek istiyorsanız, kamerayı hareket edenlerin tümü ekranda görünecek şekilde hareket ettirin:
- Ekranda görünür olmasını istediğiniz
GMSCoordinateBounds
değerini hesaplayın. - Yeni bir
GMSCameraPosition
döndürmek içincameraForBounds:insets:
GMSMapView
yöntemini kullanın.
Bu sınırların ayarlanması, GMSCoordinateBounds
öğesinin tamamen mevcut haritanın boyutuna uymasını sağlar. Bu yöntemin, haritayı yatırarak eğimi 0 olarak ayarladığını unutmayın.
Aşağıdaki örnekte, Vancouver ve Calgary'nin şehirlerinin aynı görünümde gösterilmesi için kameranın nasıl değiştirileceği gösterilmektedir.
Swift
let vancouver = CLLocationCoordinate2D(latitude: 49.26, longitude: -123.11) let calgary = CLLocationCoordinate2D(latitude: 51.05,longitude: -114.05) let bounds = GMSCoordinateBounds(coordinate: vancouver, coordinate: calgary) let camera = mapView.camera(for: bounds, insets: UIEdgeInsets())! mapView.camera = camera
Objective-C
CLLocationCoordinate2D vancouver = CLLocationCoordinate2DMake(49.26, -123.11); CLLocationCoordinate2D calgary = CLLocationCoordinate2DMake(51.05, -114.05); GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:vancouver coordinate:calgary]; GMSCameraPosition *camera = [mapView cameraForBounds:bounds insets:UIEdgeInsetsZero]; mapView.camera = camera;
Kullanıcının kaydırma özelliğini belirli bir alanla kısıtlama
Yukarıdaki senaryolarda, haritanın sınırlarını ayarlarsınız, ancak kullanıcı bu sınırların dışına kaydırılabilir veya kaydırabilir. Bunun yerine, kullanıcıların yalnızca kaydırma yapabildiği ve kaydırabileceği şekilde, haritanın odak noktasının (kamera hedefi) enlem/boylam uzunluğunun sınırlarını sınırlandırabilirsiniz.
Örneğin, bir alışveriş merkezi veya havaalanıyla ilgili bir perakende uygulaması, haritayı belirli sınırlarla sınırlandırarak kullanıcıların bu sınırlar içinde kaydırma ve kaydırma yapmasını sağlayabilir.
Kaydırma işlemini belirli sınırlarla kısıtlamak için GMSMapView
öğesinin cameraTargetBounds
özelliğini, gerekli sınırları tanımlayan bir GMSCoordinateBounds
nesnesine ayarlayın. Kısıtlamayı daha sonra kaldırmak için cameraTargetBounds
özelliğini sıfır olarak ayarlayın.
Swift
mapView.cameraTargetBounds = bounds
Objective-C
mapView.cameraTargetBounds = bounds;
Aşağıdaki şemada, kamera hedefinin görüntü alanından biraz daha büyük bir alanla sınırlı olduğu bir senaryo gösterilmektedir. Kamera hedefinin sınırlı alan içinde kalması koşuluyla kullanıcı ekranı kaydırabilir ve kaydırabilir. Çapraz çizgi, kamera hedefini temsil eder:

Görüntü alanı, belirlenen sınırların dışındaki alanların gösterilmesiyle sonuçlansa bile, harita her zaman görüntü alanını doldurur. Örneğin, kamera hedefini sınırlı alanın bir köşesine konumlandırırsanız köşenin dışındaki alan görüntü alanında görünür ancak kullanıcılar bu alana ilerleyemez. Aşağıdaki şemada bu senaryo gösterilmektedir. Artı işareti, kamera hedefini temsil eder:

Aşağıdaki şemada kamera hedefinin sınırları çok sınırlıdır ve kullanıcıya sayfayı kaydırmak veya kaydırmak için çok az fırsat sunar. Çapraz çizgi, kamera hedefini temsil eder:

Minimum veya maksimum yakınlaştırma ayarlayın
Genel sabit değerler kGMSMinZoomLevel
ve kGMSMaxZoomLevel
, minimum veya maksimum yakınlaştırma değerlerini tanımlar. GMSMapView
kapsamındaki minZoom
ve maxZoom
özellikleri varsayılan olarak bu sabit değerlere ayarlanır.
Haritada kullanılabilen yakınlaştırma düzeyi aralığını kısıtlamak için min. ve maks. yakınlaştırma düzeyi ayarlayın. Aşağıdaki kod, yakınlaştırma düzeyini 10 ile 15 arasında sınırlandırır.
Swift
let camera = GMSCameraPosition( latitude: 41.887, longitude: -87.622, zoom: 12 ) let mapView = GMSMapView(frame: .zero, camera: camera) mapView.setMinZoom(10, maxZoom: 15)
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:41.887 longitude:-87.622 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; [mapView setMinZoom:10 maxZoom:15];
Yakınlaştırma aralığını setMinZoom:maxZoom:
yöntemiyle ayarlamanız gerekir. Ancak minZoom
ve maxZoom
özelliklerini kullanarak geçerli değerleri okuyabilirsiniz.
Bu yaklaşım, değerlerden yalnızca birini kısıtlarken faydalı olabilir. Aşağıdaki kod yalnızca minimum yakınlaştırma düzeyini değiştirir.
Swift
mapView.setMinZoom(12, maxZoom: mapView.maxZoom)
Objective-C
[mapView setMinZoom:12 maxZoom:mapView.maxZoom];
Min. ve maks. yakınlaştırma güncellendikten sonra, kameranın yakınlaştırma düzeyi yeni aralığın dışında bir değere ayarlanırsa geçerli yakınlaştırma, en yakın geçerli değeri gösterecek şekilde otomatik olarak güncellenir. Örneğin, aşağıdaki kodda orijinal yakınlaştırma 4 olarak tanımlanmıştır. Yakınlaştırma aralığı daha sonra 10-15 olarak ayarlandığında, geçerli yakınlaştırma 10 olarak güncellenir.
Swift
// Sets the zoom level to 4. let camera2 = GMSCameraPosition( latitude: 41.887, longitude: -87.622, zoom: 4 ) let mapView2 = GMSMapView(frame: .zero, camera: camera) // The current zoom, 4, is outside of the range. The zoom will change to 10. mapView.setMinZoom(10, maxZoom: 15)
Objective-C
// Sets the zoom level to 4. GMSCameraPosition *camera2 = [GMSCameraPosition cameraWithLatitude:41.887 longitude:-87.622 zoom:4]; GMSMapView *mapView2 = [GMSMapView mapWithFrame:CGRectZero camera:camera]; // The current zoom, 4, is outside of the range. The zoom will change to 10. [mapView setMinZoom:10 maxZoom:15];