Zemin bindirmeleri, harita üzerinde enlem/boylama bağlı olan bindirmelerdir koordinatlar, haritayı sürüklediğinizde veya yakınlaştırdığınızda hareket eder.
Giriş
Zemin bindirme, haritaya sabitlenmiş bir görüntüdür. Beğenmeyi kaldır işaretçiler, zemin bindirmeleri Dünya'nın yüzeyine göre tasarlanmıştır. Aksi takdirde, haritayı döndürmek, yatırmak veya yakınlaştırmak resmin yönünü değiştirin.
Zemin bindirme eklemek için her ikisini de tanımlayan bir GMSGroundOverlay
nesnesi oluşturun
bir simge ve sınırlar. İkisinden birinin belirtilmemesi, zemin bindirmeye neden olur
haritada görünmez. İsteğe bağlı olarak
resmin harita üzerindeki konumunu etkiler. Projeyi tanımladıktan sonra
gerekirse, yer paylaşımını eklemek için bu nesnenin map
özelliğini ayarlayın.
Bindirme ekleme
- Yeni bir
GMSGroundOverlay
nesnesi gösterin icon
özelliğini,UIImage
öğesinin bir örneği olarak ayarlayın.bounds
özelliğini,GMSCoordinateBounds
öğesinin bir örneği olarak ayarlayın. İlgili içeriği oluşturmak için kullanılan sınırları, resmin güneybatı ve kuzeydoğu köşelerini temsil eder.bearing
vezoomLevel
gibi isteğe bağlı özellikleri istediğiniz gibi ayarlayın.map
özelliğini ayarlayın. Resim haritada gösterilir.
Aşağıdaki örnekte mevcut bir zemine zemin bindirmenin nasıl ekleneceği gösterilmektedir
GMSMapView
nesne algılandı.
Swift
let southWest = CLLocationCoordinate2D(latitude: 40.712216, longitude: -74.22655) let northEast = CLLocationCoordinate2D(latitude: 40.773941, longitude: -74.12544) let overlayBounds = GMSCoordinateBounds(coordinate: southWest, coordinate: northEast) // Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg let icon = UIImage(named: "newark_nj_1922") let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon) overlay.bearing = 0 overlay.map = mapView
Objective-C
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(40.712216,-74.22655); CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(40.773941,-74.12544); GMSCoordinateBounds *overlayBounds = [[GMSCoordinateBounds alloc] initWithCoordinate:southWest coordinate:northEast]; // Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg UIImage *icon = [UIImage imageNamed:@"newark_nj_1922"]; GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon]; overlay.bearing = 0; overlay.map = mapView;
Yer paylaşımını kaldırma
Bir zemin bindirmesini haritadan kaldırmak için
GMSGroundOverlay
öğesinin map
mülkü nil
öğesine. Alternatif olarak tüm
yer paylaşımlarını (ör. haritadaki mevcut zemin bindirmeleri dahil)
GMSMapView
clear
yöntemi.
Swift
mapView.clear()
Objective-C
[mapView clear];
Zemin bindirmesini ekledikten sonra üzerinde değişiklik yapmak isterseniz
için, GMSGroundOverlay
nesnesini tuttuğunuzdan emin olun. Şunları yapabilirsiniz:
daha sonra bu nesnede değişiklik yaparak yer bindirmesini değiştirebilirsiniz.
Swift
let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon) overlay.bearing = 0 overlay.map = mapView // ... overlay.isTappable = true
Objective-C
GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon]; overlay.bearing = 0; overlay.map = mapView; // ... overlay.tappable = YES;
Etkinlikler
Haritada gerçekleşen etkinlikleri (örneğin, bir kullanıcının bir
kullanabilirsiniz. Etkinlikleri dinlemek için
GMSMapViewDelegate
protokolü. Bkz.
etkinlik rehberine ve
GMSMapViewDelegate
.