Classe GBounds

Un objet de type GBounds représente une aire rectangulaire de la map par ses coordonnées en pixels.
La classe GLatLngBounds définit quant à elle 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).

Le constructeur GBounds

Signature de la classe GBounds : GBounds(points:GPoint[]).

Créé un nouvel objet GBounds. Il s’agit d’un rectangle qui contient l’ensemble des points (objets GPoint) passés en paramètres.

NB : depuis la version 2 de l’Api Google Map, l’objet GPoint ne représente plus un point par ses coordonnées géographiques mais par ses coordonnées en pixels. Les coordonnées géographiques sont maintenant représentées par des objets de type GLatLng.

<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. */

   myPoints.push( new GLatLng(48.8566667, 2.3509871)); // Paris
   myPoints.push( new GLatLng(48.8123155, 2.2381535)); // Meudon
   myPoints.push( new GLatLng(48.3906042, -4.4869013)); // Brest
   myPoints.push( new GLatLng(50.6371834, 3.0630174)); // Lille 
   /* On remplit notre tableau  */

   var region = new GBounds(myPoints);
   /* region est un rectangle définit par des coordonnées en pixels
   qui contient l'ensemble des points (objets de type GLatLng)
   du tableau myPoints passé en paramètre  */

</script>

minX

Soit l’objet region, un objet de type GBounds.
La propriété minX contient la longitude exprimée en degrés du coin inférieur gauche de region.

minY

Soit l’objet region, un objet de type GBounds.
La propriété minY contient la latitude exprimée en degrés du coin inférieur gauche de region.

maxX

Soit l’objet region, un objet de type GBounds.
La propriété maxX contient la longitude exprimée en degrés du coin supérieur droit de region.

maxY

Soit l’objet region, un objet de type GBounds.
La propriété maxY contient la latitude exprimée en degrés du coin supérieur droit de region.

En utilisant ces 4 propriétés (minX, minY, maxX, maxY), on peut afficher une carte contenant l’ensemble des points passés en paramètre à l’objet GBounds :

<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. */

   myPoints.push( new GLatLng(48.8566667, 2.3509871)); // Paris
   myPoints.push( new GLatLng(48.8123155, 2.2381535)); // Meudon
   myPoints.push( new GLatLng(48.3906042, -4.4869013)); // Brest
   myPoints.push( new GLatLng(50.6371834, 3.0630174)); // Lille 
   /* On remplit notre tableau  */

   var region = new GBounds(myPoints);
   /* region est un rectangle définit par des coordonnées en pixels
   qui contient l'ensemble des points (objets de type GLatLng)
   du tableau myPoints passé en paramètre  */

   var SW = new GLatLng(region.minY,region.minX);
   /* SW représente le point du coin inférieur gauche de region
   par ses coordonnées en degrés. */

   var NE = new GLatLng(region.maxY,region.maxX);
   /* NE représente le point du coin supérieur droit de region
   par ses coordonnées en degrés. */

   var bounds = new GLatLngBounds(SW,NE);
   /*  bounds représente region par ses coordonnées en degrés */

   var zoom = map.getBoundsZoomLevel(bounds);
   /* zoom contient la valeur du zoom nécessaire à l'affichage de la carte
   pour que celle-ci puisse contenir l'ensemble des points myPoints */

   var centre = bounds.getCenter();
   /*  centre contient les coordonnées du centre de cette vue en degrés */

   map.setCenter(centre, zoom);
   /*  Initialisation de la carte avec l'ensemble de ces éléments  */   

</script>

toString()

Soit l’objet region, un objet de type GBounds.
La méthode toString() retournera une chaîne contenant les coordonnées des coins inférieur droit (southEast) et supérieur gauche (northWest) de region en degrés, séparées par une virgule et entourées de parenthèses.

<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. */

   myPoints.push(new GLatLng(48.8566667, 2.3509871)); // Paris
   myPoints.push(new GLatLng(48.8123155, 2.2381535)); // Meudon
   myPoints.push(new GLatLng(48.3906042, -4.4869013)); // Brest
   myPoints.push(new GLatLng(50.6371834, 3.0630174)); // Lille 
   /* On remplit notre tableau  */

   var region = new GBounds(myPoints);
   /* region est un rectangle définit par des coordonnées en pixels
   qui contient l'ensemble des points (objets de type GLatLng)
   du tableau myPoints passé en paramètre  */

   var cornerCoords = region.toString();
   /*  Ici, cornerCoords contient ((-4.4869013, 44.3509239), (2.5735101, 50.6371834))  */   

</script>

equals(other)

La métode equals compare deux objets de type GBounds et retourne true si tous les paramètres de ces 2 objets sont égaux (depuis la version 2.98 de l’Api Google Map).

mid()

Soit l’objet region, un objet de type GBounds.
La méthode mid() retourne un objet de type GPoint représentant le point central de region par ses coordonnées en pixels (depuis la version 2.88 de l’api).

<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. */

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

   var region = new GBounds(myPoints);
   /* region est un rectangle définit par des coordonnées en pixels
   qui contient l'ensemble des points (objets de type GLatLng)
   du tableau myPoints passé en paramètre  */

   var centerCoords = region.mid();
   /*  Ici, centerCoords représente le centre de region par ses
   coordonnées en pixels */   

</script>

min()

Soit l’objet region, un objet de type GBounds.
La méthode min() retourne un objet de type GPoint représentant le coin supérieur gauche (northWest) de region par ses coordonnées en pixels.

<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. */

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

   var region = new GBounds(myPoints);
   /* region est un rectangle définit par des coordonnées en pixels
   qui contient l'ensemble des points (objets de type GLatLng)
   du tableau myPoints passé en paramètre  */

   var coordsUpperLeft = region.min();
   /*  Ici, coordsUpperLeft représente le coin supérieur gauche
   de region par ses coordonnées en pixels */   

</script>

max()

Soit l’objet region, un objet de type GBounds.
La méthode max() retourne un objet de type GPoint représentant le coin inférieur droit (southEast) de region par ses coordonnées en pixels.

<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. */

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

   var region = new GBounds(myPoints);
   /* region est un rectangle définit par des coordonnées en pixels
   qui contient l'ensemble des points (objets de type GLatLng)
   du tableau myPoints passé en paramètre  */

   var coordsLowerRight = region.max();
   /*  Ici, coordsLowerRight représente le coin inférieur droit
   de region par ses coordonnées en pixels */   

</script>

containsBounds(other:GBounds)

La méthode containsBounds() compare 2 objets de type GBounds. Si l’objet comparé est entièrement inclus dans l’objet de référence, la méthode retourne true.

<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_1 = [];
   var myPoints_2 = [];
   /* Déclaration des tableaux qui contiendront nos points, objets GLatLng. */

   myPoints_1.push(new GLatLng(48.8566667, 2.3509871)); // Paris
   myPoints_1.push(new GLatLng(48.3906042, -4.4869013)); // Brest

   myPoints_2.push(new GLatLng(48.8123155, 2.2381535)); // Meudon
   myPoints_2.push(new GLatLng(50.6371834, 3.0630174)); // Lille 

   /* On remplit nos tableaux  */

   var region_1 = new GBounds(myPoints_1);
   var region_2 = new GBounds(myPoints_2);

   if(region_1.containsBounds(region_2))
     GLog.write('region_2 est entièrement incluse dans region_1');

</script>

containsPoint(point:GPoint)

Soit region, un objet de type GBounds.
La méthode containsPoint() retourne true si region englobe le point (objet de type GPoint) passé en paramètre.

<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. */

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

   var Lille = new GLatLng(50.6371834, 3.0630174);
   var region = new GBounds(myPoints);

   if(region.containsPoint(Lille))
     GLog.write('Lille est incluse dans la région Paris / Brest');

</script>

extend(point:GPoint)

Soit region, un objet de type GBounds.
La méthode extend() élargit la surface rectangulaire définie par region de sorte que le point (objet de type GPoint) passé en paramètre y soit inclus.

<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. */

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

   var Lille = new GLatLng(50.6371834, 3.0630174);
   var region = new GBounds(myPoints);

   if(!region.containsPoint(Lille)){
     GLog.write('Lille est hors de la région rectangulaire définie par Paris et Brest');
     region.extend(Lille);
   }
   /*  Ici, si Lille n'est pas incluse dans region,
   on élargit region afin que Lille y soit finalement incluse */

</script>

Laisser une réponse

Security Code: