Vous êtes prêt !

Pour passer à l'étape de développement, accédez à notre documentation pour les développeurs.

Activer Google Maps SDK for iOS

Pour commencer, nous allons vous guider à travers la console Google Developers et effectuer deux ou trois petites choses :

  1. Créer ou choisir un projet
  2. Activer Google Maps SDK for iOS
  3. Créer les clés appropriées
Continuer

Superpositions au sol

Les superpositions au sol sont des superpositions qui, sur une carte, sont liées aux coordonnées de latitude/longitude. Elles se déplacent donc lorsque vous faites glisser la carte ou effectuez un zoom.

Introduction

Une superposition au sol est une image fixée sur une carte. Contrairement aux marqueurs, les superpositions sont orientées contre la surface de la Terre plutôt que vers l'écran. Par conséquent, si vous appliquez une rotation, une inclinaison ou un zoom sur la carte, l'orientation de l'image est modifiée.

Pour ajouter une superposition au sol, créez un objet GMSGroundOverlay qui définit à la fois une icône et des limites. Si vous ne spécifiez pas l'un de ces éléments, la superposition au sol n'apparaît pas sur la carte. Vous pouvez également spécifier des paramètres supplémentaires qui agissent sur le positionnement de l'image sur la carte. Une fois que vous avez défini les options nécessaires, définissez la propriété map de cet objet pour ajouter la superposition.

Ajouter une superposition

  1. Instanciez un nouvel objet GMSGroundOverlay
  2. Définissez la propriété icon sur une instance de UIImage.
  3. Définissez la propriété bounds sur une instance de GMSCoordinateBounds. Les limites représentent les angles sud-ouest et nord-est de l'image.
  4. Définissez des propriétés facultatives, comme bearing et zoomLevel, si vous le souhaitez.
  5. Définissez la propriété map - l'image apparaît sur la carte.

L'exemple ci-dessous montre comment ajouter une superposition au sol à un objet GMSMapView existant.

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;

Supprimer une superposition

Vous pouvez supprimer une superposition au sol de la carte en définissant la propriété map de GMSGroundOverlay sur nil. Vous pouvez également supprimer toutes les superpositions (y compris les superpositions au sol actuellement sur la carte) en appelant la méthode GMSMapView clear.

Swift

let camera = GMSCameraPosition.camera(withLatitude: 40.71,
                                      longitude: -74.22,
                                      zoom:11)
let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
...
mapView.clear()

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:40.742
                                                        longitude:-74.174
                                                             zoom:6];
mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
...
[mapView clear];

Si vous voulez apporter des modifications à une superposition au sol après l'avoir ajoutée à la carte, veillez à conserver l'objet GMSGroundOverlay. Vous pourrez modifier la superposition au sol ultérieurement en appliquant des changements à cet objet.

Swift

let overlay = GMSGroundOverlay(position: newark, icon: icon, zoomLevel: 10)
overlay.map = mapView
...
overlay.isTappable = true

Objective-C

GMSGroundOverlay *overlay =
    [GMSGroundOverlay groundOverlayWithPosition:newark
                                           icon:icon
                                      zoomLevel:10];
overlay.map = mapView;
...
overlay.tappable = YES;

Événements

Vous pouvez écouter des événements qui se produisent sur la carte, comme lorsqu'un utilisateur touche une superposition. Pour écouter ces événements, vous devez implémenter le protocole GMSMapViewDelegate. Voir le guide sur les événements et la liste des méthodes sur GMSMapViewDelegate.

Envoyer des commentaires concernant…

Google Maps SDK for iOS
Google Maps SDK for iOS
Besoin d'aide ? Consultez notre page d'assistance.