iOS için Haritalar SDK'sı ile kullanıcının haritadaki bakış açısını değiştirebilirsiniz kameranın yerini değiştirebilirsiniz.
iOS için Haritalar SDK'sı ile kullanıcılarınız, Google Haritalar'daki bağlam açısından faydalı bir yöne ayarlamak için harita oluşturur. Herhangi bir yakınlaştırma ayarında kullanıcılar haritayı kaydırabiliyor veya perspektifini çok az gecikmeyle değiştirebiliyor.
Kamerada yapılan değişiklikler, önceden gördüğünüz işaretçileri, çoklu çizgileri veya diğer grafikleri değiştirmez Bununla birlikte, bu eklemeleri sitenizin yeni sürümüne daha uygun yeni bir görünüm oluşturabilirsiniz.
Haritanın görünümü
iOS için Haritalar SDK'sı Mercator tahmin cihazınızın ekranındaki dünyanın yüzeyini (küre) (düz bir yüzey) temsil edecek şekilde uçak).
Kamera konumu
Harita görünümü, düz bir düzlemde aşağıya bakan kamera olarak modellenir. Konum (dolayısıyla haritanın oluşturulmasının) şu özellikleri içerir: target (enlem/boylam konumu), gemi, eğme, ve yakınlaştırma tuşlarına basın.
Hedef (konum)
Kamera hedefi, harita merkezinin konumudur ve enlem ve boylam koordinatları.
Enlem, -85 ile 85 derece (her ikisi de dahil) arasında olabilir. Yukarıdaki değerler veya bu aralığın altındaki değerler, bu aralıktaki en yakın değere sabitlenir. Örneğin, enlem 100 olarak belirtildiğinde değer 85 olarak ayarlanır. Boylam -180 ile 180 derece arasında değişir. Bunun üstündeki veya altındaki değerler aralığı, (-180, 180) aralığında olacak şekilde sarmalanır. Örneğin, 480, 840 ve 1200 değerlerinin tamamı 120 dereceye kadar sarmalanır.Rulman (yön)
Kamera yönü, pusula yönünü belirtir. Gerçek kuzeyden derece olarak ölçülen, karşılık gelen sayfanın üst kenarına dokunun. Haritanın merkezinden üst kenara dikey bir çizgi çizerseniz haritasında, yön, kameranın yönüne (derece cinsinden ölçülür) karşılık gelir gerçeğe dönüşüyor.
0 noktası, haritanın üst kısmının gerçek kuzeyi gösterdiği anlamına gelir. Yön değeri 90, doğuya alınması gereken harita noktalarının üst kısmıdır (pusulada 90 derece). Değer 180, güneye doğru yapılması gereken harita noktalarının üst kısmı anlamına gelir.
Haritalar API'si bir haritanın yönünü değiştirmenize olanak tanır. Örneğin, araba kullanan bir kişi Yürüyüşçüler, harita ve seyahat yönleriyle uyumlu hale getirmek için genellikle yol haritasını dönüştürürler. dikey bir çizgi genellikle kuzeyi işaret edecek şekilde haritayı yönlendirir.
Yatır (görüntüleme açısı)
Eğme, kameranın konumunu doğrudan harita üzerinde bir yay üzerinde tanımlar merkez konum, uzaklık derecesi cinsinden ölçülür nadir (doğrudan kameranın altını gösteren yön). 0 değeri, doğru kameraya karşılık gelir direksiyona geçmeyin. 0'dan büyük değerler, belirtilen derece sayısı. Görüntüleme açısını değiştirdiğinizde, harita uzaktaki özelliklerle perspektifte görünür daha küçük ve yakındaki özellikler daha büyük görünüyor. Aşağıdakiler bunu gösteren resim.
Aşağıdaki resimlerde görüntüleme açısı 0 derecedir. İlk resimde bir bir şemadır. konum 1 kamera konumu, 2. konum ise geçerli harita konumudur. Ortaya çıkan harita onun altında gösterilir.
Aşağıdaki resimlerde görüntüleme açısı 45 derecedir. Kameranın yukarıdan düz (0 derece) ve zemin (90 derece) arasında bir yay boyunca yarım yönde hareket eder, 3. konuma getirin. Kamera hâlâ haritanın merkez noktasını doğruluyor, ancak alan artık 4 konumundaki satırla temsil edilen görünür hale gelir.
Bu ekran görüntüsündeki harita, ancak haritanın üst kısmında daha fazla özellik göründü. Siz açıyı 45 derecenin üzerine çıkar (kamera ile harita arasındaki özellikler) harita konumunun dışındaki özellikler ise orantısal olarak daha büyük görünür ve orantılı olarak daha küçük görünürler ve üç boyutlu bir etki yaratırlar.
Tarih aralığını
Kameranın yakınlaştırma düzeyi, haritanın ölçeğini belirler. Daha geniş yakınlaştırma ekranda daha fazla ayrıntı görülebilirken, düşük zum düzeylerinde ekranda daha fazla yer görülebilir. Yakınlaştırma düzeyi 0 olduğunda, haritanın ölçeği tüm dünyanın yaklaşık 256 puntoluk bir genişlik sağlar.
Yakınlaştırma düzeyini 1 artırdığınızda, ekrandaki yerküre genişliği iki katına çıkar. Dolayısıyla, N yakınlaştırma düzeyinde, dünyanın genişliği yaklaşık olarak 256 * 2N puan. Örneğin, 2. yakınlaştırma düzeyinde, tüm dünya yaklaşık olarak 1024 puan genişliğinde.
Yakınlaştırma düzeyinin tam sayı olması gerekmez. Yakınlaştırma aralığı Harita tarafından izin verilen seviyeler, hedef, konum, seçenek harita türünü ve ekran boyutunu seçin. Aralık dışındaki tüm sayılar şuna dönüştürülür: minimum zum düzeyi veya en yakın geçerli değer olabilir. Maksimum yakınlaştırma seviyesi. Aşağıdaki listede yaklaşık ayrıntı düzeyi gösterilmektedir görebilirsiniz:
- 1: Dünya
- 5: Karalar/kıta
- 10: Şehir
- 15: Sokaklar
- 20: Binalar
İlk kamera konumunu ayarla
İlk kamera konumunu
GMSCameraPosition
hedefin enlem ve boylamını ayarlamanıza olanak tanıyan nesnel
taşıma, yatırma ve yakınlaştırma.
İlk kamera konumunu ayarlamak için bir GMSMapViewOptions
nesnesi oluşturun ve
camera
özelliğini GMSCameraPosition
olarak ayarlayın. Sonra seçeneklerinizi
GMSMapView
kolaylıkla uygulayıcısı olabilir.
Swift
let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 16) let mapView = GMSMapView(options:options)
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:16]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
Varsayılan UIView
ilk adımını kullanarak GMSMapView
nesnesini de oluşturabilirsiniz.
yöntemidir. Bu örnekte, kamera konumu varsayılan konumda başlar ve
bunu değiştirebilirsiniz.
Swift
let options = GMSMapViewOptions() options.frame = self.view.bounds let mapView = GMSMapView(options:options)
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
Kamera konumunu değiştirin
Konumu ayarlamak için kamera konumunu programlı bir şekilde değiştirebilirsiniz.
taşıma, yatırma ve yakınlaştırma. GMSMapView
, aşağıdakileri yapabileceğiniz çeşitli yöntemler sunar:
Konumu değiştirmek için kullanabileceğiniz bir şey. Genellikle GMSCameraPosition
veya
GMSCameraUpdate
:
GMSCameraPosition
her kamera konumunu değiştirmek için kullandığınız özellikleri ve yöntemleri içerir parametresi: hedefleme, taşıma, yatırma ve yakınlaştırma.GMSCameraUpdate
hedefi, yönü, yatırmayı ve yakınlaştırmayı değiştirmenize olanak tanır ve ayrıca, gelişmiş yakınlaştırmayı ve ortalamayı destekleyen görüntüler ve daha fazlası gibi gözlemlenebilir.
Kamerayı hareket ettirirken "tutturmayı" seçebilirsiniz. yeni kameraya veya hareket animasyonu olmadığı anlamına gelir. Örneğin, kameranın hedef konumunda bir değişiklik yaptığınızda, animasyon önceki konumu yeni konuma taşıyın.
Animasyon, mevcut kamera özellikleri ile yeni kamera özellikleri arasında interpolasyon yapar kamera özellikleriyle değiştirebilirsiniz. Animasyonun süresini, Çekirdek Animasyon.
GMSCameraPosition
hareketini kullanın
Kamerayı şununla değiştirmek için:
GMSCameraPosition
yeni bir nesne oluşturursunuz veya mevcut bir nesneyi kopyalarsanız
GMSMapView
nesne. Kamerayı tutturmak için GMSCameraPosition
nesnesini kullanın
yeni konumu ekleyebilirsiniz.
Aşağıdakiler gibi kamera özelliklerini yapılandırmak için bir GMSCameraPosition
nesnesi kullanın:
enlem, boylam, yakınlaştırma, konum ve görüntüleme açısı. Daha sonra bu nesneyi
GMSMapView
için camera
özelliğini ayarlayın.
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
özelliklerini atlayın.
Taşıma işlemine animasyon eklemek için şunun yerine animateToCameraPosition:
yöntemini kullanın:
camera
özelliğini ayarlama.
GMSCameraUpdate
hareketini kullanın
GMSCameraUpdate
kamera konumunu güncellemenize ve
tutturma veya animasyon ekleme arasında seçim yapmanıza olanak tanır.
bahsedeceğim. GMSCameraUpdate
, sağladığı avantaj kolaylık sağlamasıdır. Şunları yapabilirsiniz:
GMSCameraUpdate
ile aynı görevleri gerçekleştirmek için GMSCameraPosition
kullanılır, ancak
GMSCameraUpdate
, şu işlemleri kolaylaştıran ek yardımcı yöntemler sunar:
kamerayı manipüle etme.
Örneğin, geçerli yakınlaştırma seviyesini artırmak üzere GMSCameraPosition
tuşunu kullanmak için
önce mevcut yakınlaştırma seviyesini belirlemeniz gerekir, ardından
Yakınlaştırmayı 1'den büyük bir değere ayarladığınız GMSCameraPosition
nesnesi
yakınlaştırın.
Alternatif olarak, zoomIn:
yöntemiyle bir GMSCameraUpdate
nesnesi oluşturun.
Daha sonra, GMSCameraUpdate
nesnesini
GMSMapView
animateWithCameraUpdate:
yöntemi.
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];
Kamerayı yeni konuma tutturmak için GMSMapView
moveCamera:
yöntemini kullanın
.
Sonraki örnekte, kameranın bir hareketini canlandırmak için GMSCameraUpdate
kullanılır.
bir merkeze koyduk.
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:
- Geçerli yakınlaştırma seviyesini 1, 0 olarak değiştirin ve aynı olacaktır.
zoomTo:
- Yakınlaştırma düzeyini verilen değere değiştirirken diğer tüm değerleri korur aynı değildir.
zoomBy:
- Yakınlaştırma seviyesini artırır (veya değer negatifse azaltır) değer:
zoomBy:atPoint:
- Değer negatifse belirtilen noktanın uzaklığını korurken yakınlaştırma düzeyini verilen değere göre uzaklaştırarak ekranda konumu.
setTarget:
- Koruma işlemini korurken kameranın enlem ve boylamını değiştirir izin verir.
setTarget:zoom:
- Kameranın enlem, boylam ve yakınlaştırma ayarlarını değiştirirken korumak için kullanır.
setCamera:
- Yeni bir
GMSCameraPosition
ayarlar. scrollByX:Y:
- Haritayı hareket ettirmek için kameranın enlem ve boylamını değiştirir belirtilen puan sayısına göre. Pozitif x değeri sağa doğru hareket ettirin ve haritanın çıktı. Pozitif y değeri kameranın aşağı hareket etmesine neden olur ve böylece harita yukarı çıkmış gibi görünüyor. Kaydırma, kameranın mevcut durumuna bağlıdır değer. Örneğin, kamera 90 derecelik bir görüş açısına sahipse "doğu" değeri "yukarı"dır.
fitBounds:
- Kamerayı, ekranda belirtilen sınırları şurada ortalayacak şekilde dönüştürür: mümkün olan en yüksek yakınlaştırma seviyesine ayarlanır. Bir varsayılan uygular dolguyu 64 puanlık sınırlara göre belirleyebilirsiniz.
fitBounds:withPadding:
- Kamerayı, belirtilen sınırları mümkün olan en yüksek zum düzeyinde ayarla. Bu yöntemi, sınırlayıcı kutunun tüm kenarları için nokta cinsinden aynı dolgu.
fitBounds:withEdgeInsets:
- Kamerayı, belirtilen sınırları
mümkün olan en yüksek zum düzeyinde ayarla.
UIEdgeInsets
ile, sınırlayıcı kutunun her bir kenarı için dolguyu ayrı ayrı belirtirsiniz. ziyaret edin.
Tek bir mülkü değiştirmek için GMSMapView
kullanma
GMSMapView
kamerayı, başka herhangi bir araç
GMSCameraPosition
nesne veya GMSCameraUpdate
nesne. Bu yöntemler sayesinde
animateToLocation:
veya animateToZoom:
olarak bir değişikliği
tek bir kamera özelliği
kullanabilirsiniz.
Örneğin, kamerada bir değişiklik canlandırmak için toViewingAngle:
yöntemini kullanın
yatır.
Swift
mapView.animate(toViewingAngle: 45)
Objective-C
[mapView animateToViewingAngle:45];
Hedef belirleyin (konum)
Konum, haritanın merkezini belirler. Konumlar
enlem ve boylama sahip olur ve programatik olarak
CLLocationCoordinate2D
, CLLocationCoordinate2DMake
ile oluşturuldu.
Konumu değiştirmek için GMSCameraPosition
öğesini kullanın. Bu örnekte, harita
yeni konuma taşıyın.
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 canlandırmak ve haritayı yeni konuma kaydırmak için
camera
özelliğini ayarlamak yerine animateToCameraPosition:
yöntemini kullanmanız gerekir. Alternatif olarak,
GMSMapView
üzerinde animateToLocation:
yöntemini kullanın.
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. Kullan
yerleşik yöntem (scrollByX:Y:
)
Yönde kamerayı birleştirdik. Bu örnekte kamerayı kaydırarak 200
100 puan aşağı:
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];
Yönü ayarla
Yön, pusula yönüdür ve gerçek kuzeyden derece cinsinden ölçülür. sağ üst köşesine dokunun. Örneğin, sıcaklığın 90 derece olduğu açıda harita gösterilir. üst kenarın doğuya doğru döndüğü doğrudur.
Ayarı GMSCameraPosition
veya GMSCameraUpdate
ile programatik olarak ayarlayın
veya GMSMapView
animateToBearing:
yöntemiyle işlem yapabilirsiniz.
Swift
mapView.animate(toBearing: 0)
Objective-C
[mapView animateToBearing:0];
Yatırmayı ayarla (görüntüleme açısı)
Görüş açısı, kameranın doğrudan bu çizginin üzerinde bir yay üzerindeki konumudur Dünya'nın merkez konumunu ve yüzeyini açabileceğiniz şekilde, dünyadan itibaren derece cinsinden ölçülen nadir (yön doğrudan kameranın altına doğru bakacak şekilde). Görüntüleme açısını değiştirdiğinizde, harita kamera ile harita konumu arasındaki özelliklerle perspektifte görünür orantılı olarak daha büyük görünebilir ve harita konumunun ötesindeki özellikler ve üç boyutlu bir etki oluşturacak şekilde daha küçüktür.
Görüntüleme açısı 0 (haritada dümdüz bir şekilde aşağı bakacak şekilde) ve maksimum seviyeye kadar indirebilirsiniz. Yakınlaştırma seviyesi 16 veya üstü için maksimum açı 65 derece. 10 veya daha düşük yakınlaştırma seviyesi için maksimum açı 30'dur. derece.
Görüntüleme açısını GMSCameraPosition
veya
GMSCameraUpdate
veya GMSMapView
olan animateToViewingAngle:
yöntemiyle.
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. Daha geniş yakınlaştırma ekranda daha fazla ayrıntı görebilir, daha düşük yakınlaştırma seviyelerinde çok daha fazlasını görebilir.
Yakınlaştırmayı GMSCameraPosition
veya GMSCameraUpdate
ile programatik olarak ayarlayın ya da
GMSMapView
animateToZoom:
yöntemiyle.
Swift
mapView.animate(toZoom: 12)
Objective-C
[mapView animateToZoom:12];
Aşağıdaki örnekte GMSCameraUpdate
oluşturmak için zoomIn:
yöntemi kullanılmaktadır
yakınlaştırma animasyonunu geçerli düzeyden bir düzey içine alacak bir nesne olarak ayarlayın.
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ı belirleyin
Kamerayı, ilgilenilen alanın tamamının en görünür olacağı şekilde hareket ettirmek için kamera görünümünün sınırlarını ayarlayın. Örneğin, kullanıcının geçerli konumuna en çok beş kilometre uzaklıktaki tüm benzin istasyonlarını görüntülemek istiyorsanız ekranda görünecek şekilde kamerayı hareket ettirin:
- Almak istediğiniz
GMSCoordinateBounds
değerini hesaplayın ekranda görünür olması gerekir. - Yeni bir
GMSMapView
döndürmek içincameraForBounds:insets:
yöntemini kullanınGMSCameraPosition
.
Bu sınırların ayarlanması, belirtilen GMSCoordinateBounds
değerinin tamamen sığmasını sağlar.
geçerli haritanın boyutu içinde olması gerekir. Bu yöntemin eğimi ve yönü ayarladığını unutmayın
0 olarak görebilirsiniz.
Aşağıdaki örnekte, şehirlerin 300 m2'lik bir boyuta sığması için kameranın hem Vancouver hem de Calgary aynı görünümde görünüyor.
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ırmasını belirli bir alanla sınırla
Bu senaryolar haritanın sınırlarını belirler, ancak kullanıcı daha sonra sayfayı kaydırabilir veya kaydırabilir anlamına gelir. Bunun yerine koordinat sistemini haritayı odak noktasının (kamera hedefi) merkez sınırlarına kaydırma ve kaydırma işlemleri yapabilirsiniz.
Örneğin, bir alışveriş merkezi veya havaalanı için perakende uygulamasının kullanıcıların bu sınırlar içinde kaydırma ve kaydırma yapmasına olanak tanıyarak haritayı belirli sınırlara uymasını sağlayabilirsiniz.
Kaydırmayı belirli sınırlarla kısıtlamak için şunun cameraTargetBounds
özelliğini ayarlayın:
GMSMapView
öğesini gerekli sınırları tanımlayan bir GMSCoordinateBounds
nesnesine bağlayın.
Kısıtlamayı daha sonra kaldırmak için cameraTargetBounds
değerini nil olarak ayarlayın.
Swift
mapView.cameraTargetBounds = bounds
Objective-C
mapView.cameraTargetBounds = bounds;
Aşağıdaki diyagramda, kamera hedefinin görüntü alanından biraz daha geniş bir alanla sınırlandırılır. Kullanıcı kamera hedefinin sınırlı alan içinde kalması koşuluyla kaydırma ve kaydırma hareketlerini kullanabilirsiniz. İlgili içeriği oluşturmak için kullanılan çarpı, kamera hedefini temsil eder:
Harita, görüntü alanının gösterilmesine neden olsa bile, her zaman görüntü alanını doldurur. alanları görebilirsiniz. Örneğin, sınırın bir köşesinde kamera hedefi görürseniz köşenin dışındaki alan görüntü alanında görünür ancak kullanıcılar bu alana daha fazla kaydıramaz. İlgili içeriği oluşturmak için kullanılan aşağıdaki şema bu senaryoyu göstermektedir. Haç, kamerayı temsil eder hedef:
Aşağıdaki şemada, kamera hedefinin çok kısıtlı sınırları var. kullanıcıya haritayı kaydırma veya kaydırma olanağı çok azdır. Çarpım, kamera hedefi:
Minimum veya maksimum yakınlaştırmayı ayarlayın
kGMSMinZoomLevel
ve kGMSMaxZoomLevel
global sabitleri
minimum veya maksimum yakınlaştırma değerleri
kullanabilirsiniz. Varsayılan olarak minZoom
ve maxZoom
GMSMapView
özellikleri bu sabitlere ayarlandı.
Haritada kullanılabilen yakınlaştırma düzeyleri aralığını sınırlandırmak için bir min. ve maks. yakınlaştırma düzeyi. 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 okuyabilir. Bu
yaklaşım, değerlerden yalnızca birini kısıtlamada faydalıdır. 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 maksimum yakınlaştırmayı güncelledikten sonra kameranın yakınlaştırma seviyesi değerini yeni aralığın dışında görürseniz, geçerli yakınlaştırma otomatik olarak en yakın geçerli değeri görüntüler. Örneğin, aşağıdaki kodda orijinal yakınlaştırma 4 olarak tanımlanır. Yakınlaştırma aralığı daha sonra 10-15 olarak ayarlandığında, geçerli yakınlaştırma değeri 10 olarak güncellendi.
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];