Classe GLatLngBounds

Un objet de type GLatLngBounds représente une aire rectangulaire définie par les coordonnées géographiques de ses coins (extrémités), en l’occurrence le coin inférieur gauche (sud-ouest) et le coin supérieur droit (nord-est).
La classe GBounds définit quant à elle une zone rectangulaire de la carte par ses coordonnées en pixels.

Le constructeur GLatLngBounds

Signature de la classe GLatLngBounds : GLatLngBounds(sw?:GLatLng, ne?:GLatLng).

Créé un nouvel objet GLatLngBounds. Il s’agit d’un rectangle ayant pour limites les points sud-ouest et nord-est renseignés lors de l’instanciation de la classe.

À noter que ces paramètres sont optionnels. Il est possible de créer une instance de la classe GLatLngBounds sans aucun argument.

<script type="text/javascript">

   var bounds = new GLatLngBounds();
   /* Création de l'objet bounds de type GLatLngBounds */

</script>

equals(other)

La métode equals compare deux objet de type GLatLngBounds et retourne true si les propriétés de ces 2 objets ont exactement les mêmes valeurs (à un certain arrondi près).

containsLatLng()

Depuis la version 2.88 de l’Api Google Map la signature de la méthode est containsLatLng(latlng:GLatLng). Avant cette version sa signature était contains(latlng:GLatLng).

La méthode containsLatLng() retourne true si l’objet GLatLng passé en paramètre est inclus dans la zone rectangulaire définie par l’intanciation de la classe GLatLngBounds.

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(200,200)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 200 * 200 pixel */

   var Paris = new GLatLng(48.8566667, 2.3509871);
   var Meudon = new GLatLng(48.8123155, 2.2381535);
   var Brest = new GLatLng(48.3906042, -4.4869013);
   /* Paris, Meudon et Brest sont des instances de la classe GLatLng.  */

   var bounds = new GLatLngBounds( Meudon, Paris);
   /* Création de l'objet bounds de type GLatLngBounds
   Ici, la zone déclarée est un rectangle
   ayant pour coin inférieur gauche : Meudon et pour coin
   supérieur droit : Paris.*/ 

   if(bounds.containsLatLng(Brest))
     GLog.write('Brest est bien compris entre Paris et Meudon');
   else
     GLog.write('Brest n\'est pas compris entre Paris et Meudon');

   /* Affiche  "Brest n'est pas compris entre Paris et Meudon" bien entendu ... */

</script>

intersects(other:GLatLngBounds)

La métode intersects compare deux objet de type GLatLngBounds et retourne true si l’objet GLatLngBounds comparé intersecte l’objet GLatLngBounds de référence.

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(200,200)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 200 * 200 pixel */

   var Paris = new GLatLng(48.8566667, 2.3509871);
   var Meudon = new GLatLng(48.8123155, 2.2381535);
   var Brest = new GLatLng(48.3906042, -4.4869013);
   /* Paris, Meudon et Brest sont des instances de la classe GLatLng.  */

   var bounds_1 = new GLatLngBounds( Meudon, Paris);
   var bounds_2 = new GLatLngBounds( Brest, Paris);
   /* Création des objets bounds de type GLatLngBounds */ 

   if(bounds_2.intersects(bounds_1))
     GLog.write('Les 2 zones se chevauchent');

</script>

containsBounds()

La signature de la méthode containsBounds() est la suivante : containsBounds(other:GLatLngBounds). Elle retourne true si l’objet de type GLatLngBounds comparé est entièrement inclus dans l’objet de type GLatLngBounds de référence.

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(200,200)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 200 * 200 pixel */

   var Paris = new GLatLng(48.8566667, 2.3509871);
   var Meudon = new GLatLng(48.8123155, 2.2381535);
   var Brest = new GLatLng(48.3906042, -4.4869013);
   /* Paris, Meudon et Brest sont des instances de la classe GLatLng.  */

   var bounds_1 = new GLatLngBounds(Meudon, Paris);
   var bounds_2 = new GLatLngBounds(Brest, Paris);
   /* Création des objets bounds de type GLatLngBounds */ 

   if(bounds_2.containsBounds(bounds_1))
     GLog.write('La région bounds_1 est entièrement incluse dans la région bounds_2');

</script>

extend()

La signature de la méthode extend() est la suivante : extend(latlng:GLatLng) .
Cette méthode va élargir la carte afin d’avoir un zoom suffisamment large pour y inclure tous les points (objet GLatLng) qu’on lui passera en paramètre.

Cette méthode est en général utilisée dans des boucles qui listent une quantité de points afin de récupérer le zoom approprié pour afficher tous les points sur la carte. Cf exemple ci-dessous :

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(200,200)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 200 * 200 pixel */

   var myPoints = [];
   /* Déclaration du tableau qui contiendra nos points, objets GLatLng. */

   var bounds = new GLatLngBounds();
   /* Instanciation de la classe GLatLngBounds */

   myPoints.push(new GLatLng(48.8566667, 2.3509871));
   myPoints.push(new GLatLng(48.8123155, 2.2381535));
   myPoints.push(new GLatLng(48.3906042, -4.4869013));
   /* On remplit notre tableau  */

   for(var i = 0; i < myPoints.length; i++)
     bounds.extend(myPoints[i]);
   /* Extension des limites de la carte afin d'y insérer tous les points */ 

   On peut ensuite utiliser une méthode map State de la classe GMap2
   intitulée getBoundsZoomLevel qui récupère le zoom nécessaire pour afficher
   la carte en fonction de ses limites.

   var newZoom = map.getBoundsZoomLevel(bounds);

   De la même manière, on récupère le centre de la région (objet GLatLngBounds)
   à l'aide de la méthode getCenter().

   var newCentre = bounds.getCenter();

   Il suffit ensuite d'initialiser la carte avec ces éléments.

   map.setCenter(newCentre, newZoom);

</script>

getSouthWest()

La méthode getSouthWest() retourne un objet de type GLatLng, en l’occurrence le point représentant le coin inférieur gauche de la carte.

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(200,200)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 200 * 200 pixel */

   var Paris = new GLatLng(48.8566667, 2.3509871);
   /* Paris est une instance de la classe GLatLng.
   Il s'agit donc d'un point représenté par ses coordonnées  */

   map.setCenter(Paris, 11);
   /* Affichage de la carte centrée sur Paris avec un zoom 11 */

   var pointInfGauche = bounds.getSouthWest();
   /* pointInfGauche est un objet de type GLatLng correspondant
   au coin inférieur gauche de la map */

   Pour récupérer sa latitude et sa longitude, on peut utiliser les
   méthodes de la classe GLatLng : lat() et lng():

   var latitudePointInfGauche = PointInfGauche.lat();
   var longitudePointInfGauche = PointInfGauche.lng();

</script>

getNorthEast()

La méthode getNorthEast() retourne un objet de type GLatLng, en l’occurrence le point représentant le coin supérieur droit de la carte.
Elle fonctionne de la même manière que la méthode getSouthWest().

toSpan()

La méthode toSpan() retourne la hauteur et la largeur de la carte en degrés. Cela correspond à la (latitude du coin supérieur droit - la latitude du coin inférieur gauche) et à (la longitude du coin supérieur droit - la longitude du coin inférieur gauche).

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(200,200)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 200 * 200 pixel */

   var Paris = new GLatLng(48.8566667, 2.3509871);
   /* Paris est une instance de la classe GLatLng.
   Il s'agit donc d'un point représenté par ses coordonnées  */

   map.setCenter(Paris, 11);
   /* Affichage de la carte centrée sur Paris avec un zoom 11 */

   var amplitudeCoordonnees = bounds.toSpan();
   /* amplitudeCoordonnees est un objet de type GLatLng ayant
   pour latitude la différence entre la latitude du coin supérieur droit
   et la latitude du coin inférieur gauche et pour longitude
   la différence entre la longitude du coin supérieur droit
   et la longitude du coin inférieur gauche*/

</script>

isFullLat()

La méthode isFullLat() retourne true si le rectangle défini par l’objet de type GLatLngBounds s’étend du pôle nord au pôle sud.

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(200,200)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 200 * 200 pixel */

   var Paris = new GLatLng(48.8566667, 2.3509871);
   /* Paris est une instance de la classe GLatLng.
   Il s'agit donc d'un point représenté par ses coordonnées  */

   map.setCenter(Paris, 11);
   /* Affichage de la carte centrée sur Paris avec un zoom 11 */

   if(bounds.isFullLat()){
      ...
   }

</script>

isFullLng()

La méthode isFullLng() retourne true si le rectangle défini par l’objet de type GLatLngBounds s’étend autour de la Terre entière dans le sens de la longitude.

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(200,200)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 200 * 200 pixel */

   var Paris = new GLatLng(48.8566667, 2.3509871);
   /* Paris est une instance de la classe GLatLng.
   Il s'agit donc d'un point représenté par ses coordonnées  */

   map.setCenter(Paris, 11);
   /* Affichage de la carte centrée sur Paris avec un zoom 11 */

   if(bounds.isFullLng()){
      ...
   }

</script>

isEmpty()

La méthode isEmpty() retourne true si le rectangle défini par l’objet de type GLatLngBounds est vide.

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(200,200)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 200 * 200 pixel */

   var Paris = new GLatLng(48.8566667, 2.3509871);
   /* Paris est une instance de la classe GLatLng.
   Il s'agit donc d'un point représenté par ses coordonnées  */

   map.setCenter(Paris, 11);
   /* Affichage de la carte centrée sur Paris avec un zoom 11 */

   if(bounds.isEmpty()){
      ...
   }

</script>

getCenter()

La méthode getCenter() retourne un objet de type GLatLng représentant le centre de la région déclarée par l’objet de type GLatLngBounds.

Cf la méthode extend pour visualiser un exemple de son utilisation.

Laisser une réponse

Security Code: