Zemin Bindirmeleri

Platform seçin: Android iOS JavaScript

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

  1. Yeni bir GMSGroundOverlay nesnesi gösterin
  2. icon özelliğini, UIImage öğesinin bir örneği olarak ayarlayın.
  3. 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.
  4. bearing ve zoomLevel gibi isteğe bağlı özellikleri istediğiniz gibi ayarlayın.
  5. 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 ekrana dokunması gibi) dinleyebilirsiniz kullanabilirsiniz. Etkinlikleri dinlemek için GMSMapViewDelegate protokolü. Bkz. etkinlik rehberine ve GMSMapViewDelegate.