classe MVCArray

La classe MVCArray() est une classe dérivée de la classe MVCObject().

NB : La plupart des classes utilisées dans l’API GOOGLE MAP V3 sont maintenant des classes dérivées de la classe MVCObject comme par exemple la classe principale Map ou encore la classe Marker.

En utilisant des objets de type MVCArray, il est alors possible d’exploiter les méthodes et événements liés à ce type d’objet.

Accès rapides

Constructeur:
constructeur MVCArray

Le constructeur MVCArray

Le constructeur MVCArray() a pour signature : new google.maps.MVCArray();

<script type="text/javascript">

   // Création d'un objet de type MVCArray
   var myMvcArray = new google.maps.MVCArray();

   myMvcArray.push(new google.maps.LatLng(48.8566667, 2.3509871)); // Paris
   myMvcArray.push(new google.maps.LatLng(50.6371834, 3.0630174)); // Lille

   var lat_1 = myMvcArray.getAt(1).lat());
   // lat_1 contiendra la valeur 50.6371834
</script>

forEach

La méthode forEach permet d’appeler une fonction qui sera exécutée sur chaque élément de l’objet MVCArray() sur lequel la méthode est appliquée.

forEach(callback : function(*, number));

<script type="text/javascript">

   // Création d'un objet de type MVCArray
   var myMvcArray = new google.maps.MVCArray();

   myMvcArray.push(new google.maps.LatLng(48.8566667, 2.3509871)); // Paris
   myMvcArray.push(new google.maps.LatLng(50.6371834, 3.0630174)); // Lille

   myMvcArray.forEach(function(latLng, index){
    results = " ["+ index +"] => "+ latLng;
    alert(results);
   });

   // Affichera :
   // [0] => (48.8566667, 2.3509871)
   // [1] => (50.6371834, 3.0630174)

</script>

getAt

La méthode getAt permet de récupérer la valeur de l’attribut de l’objet de type MVCArray ayant pour indice la valeur passée en paramètre.

getAt(i : nb);

<script type="text/javascript">

   // Création d'un objet de type MVCArray
   var myMvcArray = new google.maps.MVCArray();

   myMvcArray.push(new google.maps.LatLng(48.8566667, 2.3509871)); // Paris
   myMvcArray.push(new google.maps.LatLng(50.6371834, 3.0630174)); // Lille

   var lat_1 = myMvcArray.getAt(1).lat();
   // lat_1 contiendra la valeur 50.6371834
</script>

getLength

La méthode getLength permet de récupérer le nombre d’éléments de l’objet de type MVCArray sur lequel s’applique la méthode.

getLength();

<script type="text/javascript">

   // Création d'un objet de type MVCArray
   var myMvcArray = new google.maps.MVCArray();

   myMvcArray.push(new google.maps.LatLng(48.8566667, 2.3509871)); // Paris
   myMvcArray.push(new google.maps.LatLng(50.6371834, 3.0630174)); // Lille

   alert(myMvcArray.getLength());
   // affichera : 2

</script>

insertAt

La méthode insertAt permet d’insérer un nouvel élément à l’indice donné en paramètre dans l’objet de type MVCArray sur lequel est appliquée la méthode.

insertAt(i : nb, elem : *);

<script type="text/javascript">

   // Création d'un objet de type MVCArray
   var myMvcArray = new google.maps.MVCArray();

   myMvcArray.push(new google.maps.LatLng(48.8566667, 2.3509871)); // Paris
   myMvcArray.push(new google.maps.LatLng(50.6371834, 3.0630174)); // Lille

   // Insert un nouvel élément (ici Brest) en première position (indice 0)
   myMvcArray.insertAt(0, new google.maps.LatLng(48.3906042, -4.4869013)); // Brest 
   var lng_2 = myMvcArray.getAt(2).lng();
   // lng_2 contiendra 3.0630174 

</script>

pop

La méthode pop permet de supprimer le dernier élément de l’objet de type MVCArray sur lequel est appliquée la méthode et retourne cet élément.

pop();

<script type="text/javascript">

   // Création d'un objet de type MVCArray
   var myMvcArray = new google.maps.MVCArray();

   myMvcArray.push(new google.maps.LatLng(48.8566667, 2.3509871)); // Paris
   myMvcArray.push(new google.maps.LatLng(50.6371834, 3.0630174)); // Lille

   // Insert un nouvel élément (ici Brest) en première position (indice 0)
   myMvcArray.insertAt(0, new google.maps.LatLng(48.3906042, -4.4869013)); // Brest 

   var lastItem = myMvcArray.pop();
   alert(lastItem.lat());
   // Affichera 50.6371834

   alert(myMvcArray.getLength());
   // Affichera 2

</script>

push

La méthode push permet d’ajouter un nouvel élément à la fin de l’objet de type MVCArray sur lequel est appliquée la méthode et retourne le nouveau nombre d’éléments compris dans cet objet.

NB : La méthode insertAt permet quant à elle d’ajouter un élément à une place donnée à l’aide de l’indice i passé en paramètre.

push(elem : *);

<script type="text/javascript">

   // Création d'un objet de type MVCArray
   var myMvcArray = new google.maps.MVCArray();

   myMvcArray.push(new google.maps.LatLng(48.8566667, 2.3509871)); // Paris
   myMvcArray.push(new google.maps.LatLng(50.6371834, 3.0630174)); // Lille

   // Insert un nouvel élément (ici Brest) à la fin du tableau
   myMvcArray.push(new google.maps.LatLng(48.3906042, -4.4869013)); // Brest 

   alert(myMvcArray.getAt(2).lat());
   // Affichera 48.3906042

</script>

removeAt

La méthode removeAt permet de supprimer l’élément dont l’indice est passé en paramètre de l’objet de type MVCArray sur lequel est appliquée la méthode.

removeAt(i : nb);

<script type="text/javascript">

   // Création d'un objet de type MVCArray
   var myMvcArray = new google.maps.MVCArray();

   myMvcArray.push(new google.maps.LatLng(48.8566667, 2.3509871)); // Paris
   myMvcArray.push(new google.maps.LatLng(50.6371834, 3.0630174)); // Lille

   // Supprime Paris du tableau
   myMvcArray.removeAt(0); 

   alert(myMvcArray.getAt(0).lat());
   // Affichera 50.6371834 car le seul élément du tableau est maintenant Lille

</script>

setAt

La méthode setAt permet de modifier la valeur de l’attribut dont l’indice est passé en paramètre de l’objet de type MVCArray sur lequel est appliquée la méthode.

setAt(i : nb, elem : *);

<script type="text/javascript">

   // Création d'un objet de type MVCArray
   var myMvcArray = new google.maps.MVCArray();

   myMvcArray.push(new google.maps.LatLng(48.8566667, 2.3509871)); // Paris
   myMvcArray.push(new google.maps.LatLng(50.6371834, 3.0630174)); // Lille

   // On remplace Paris par Brest
   myMvcArray.setAt(0,new google.maps.LatLng(48.3906042, -4.4869013)); // Brest 

   alert(myMvcArray.getAt(0).lng());
   // Affichera -4.4869013 car le premier élément du tableau est maintenant Brest

</script>
Accès aux événements:
insert_at remove_at set_at

insert_at

L’événement insert_at est déclenché lorsque la méthode insertAt est appelée. Cet événement retourne l’index de l’attribut modifié.

remove_at

L’événement remove_at est déclenché lorsque la méthode removeAt est appelée. Cet événement retourne l’index ainsi que la valeur de l’attribut supprimé.

set_at

L’événement set_at est déclenché lorsque la méthode setAt est appelée. Cet événement retourne l’index ainsi que la valeur qui était associée à l’attribut avant la modification.

classe MVCObject

La classe MVCObject() est une classe implémentant le mécanisme KVO. KVO, pour Key Value Observing est un mécanisme permettant d’observer les changements qui peuvent avoir lieu sur les valeurs des attributs d’un objet.

La plupart des classes utilisées dans l’API GOOGLE MAP V3 sont maintenant des classes dérivées de la classe MVCObject comme par exemple la classe principale Map ou encore la classe Marker.

Accès rapides

Constructeur:
constructeur MVCObject

Le constructeur MVCObject

Le constructeur MVCObject() est la classe de base de la mise en oeuvre KVO.

bindTo

La méthode bindTo permet de lier une vue à un modèle. Elle ne retourne aucune valeur.

bindTo(key : string, target : MVCObject, targetKey ? : string, noNotify ? : boolean).

changed

La méthode changed est le gestionnaire générique pour les changements d’état. Il est possible de redéfinir cette méthode dans les classes dérivées à gérer pour des changements d’états arbitraires. Elle ne retourne aucune valeur.

changed(key : string).

get

La méthode get permet de récupérer la valeur d’un attribut d’un objet.

get(key : string).

<script type="text/javascript">

   // Considérons un objet de type map avec un zoom de 5

   // La classe Map étant une classe dérivée de la classe MVCObject
   // nous pouvons accéder aux valeurs de ses attributs
   var zoom = map.get('zoom');

   // On récupère bien la valeur 5.
   // Cet appel est équivalent à la méthode map.getZoom()

</script>

notify

La méthode notify permet de prévenir des changements de valeur de l’attribut de l’objet passé en paramètre. Elle informe les objets qui sont liés aux propriétés de l’objet modifié ainsi que l’objet lui-même.

notify(key : string).

set

La méthode set permet de modifier la valeur de l’attribut d’un objet passé en paramètre (key) en lui affectant la valeur value. Elle ne retourne aucune valeur.

set(key : string, value:*).

setValues

La méthode setValues permet de modifier un ensemble d’attributs d’un objet en passant en paramètre un jeu de paires de key - value. Elle ne retourne aucune valeur.

setValues(values : Object | undefined).

unbind

La méthode unbind permet de supprimer une liaison entre 2 éléments (propriété et valeur). L’objet ne sera plus notifié lors du changement de la valeur de l’attribut concerné.

unbind(key : string).

unbindAll

La méthode unbindAll permet de supprimer toutes les liaisons entre propriété et valeur. L’objet ne sera plus notifié lors des changements des valeurs des attributs.

unbindAll().