OSM tchoutchou

De Raildar
Révision de 13 janvier 2014 à 19:42 par Bumblebee (discuter | contributions) (Page créée avec « Sources disponibles sur [https://github.com/bumblebeefr/osm-tchoutchou/ github] = leaflet-hash.js custom= Customisation de leaflet-hash pour permettre de gérer des argu... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

Sources disponibles sur github


leaflet-hash.js custom

Customisation de leaflet-hash pour permettre de gérer des arguments dans le HASH de la page en plus de ceux utilisé par le plugin (lat,lng,zoom). Les argument sont formaté classiquement sauf qu'il commencent par au lieu de ?

Sources :

leaflet-hash.js


Fonctions ajoutées

L.Hash.deserialize(hash)

Décode le hash et retourne un objet javascript contenant les différents argument. Exemple la hash #lat=46.810&lng=6.880&zoom=6 retournera {'lat':'46.810','lng':'6.880','zoomz':'6'}.

  • hash : Hash à parser. S'il n'est pas renseigné la fonction décode la hash de l'url directement.


L.Hash.serialize(obj)

Exact inverse de la fonction précédente, prend en entrée un objet javascript et retourne le hash correspondant. (Attention cette fonction ne modifie pas l'url, cette fonction est généralement uniquement utilisée en interne).

  • obj : Objet a convertir en hash


L.Hash.setArg(name,value)

Modifie un argument ou l'ajoute au hash. Cette fonction met a jour le hash de l'url, un événement 'haschange' sera levé avec l'argument external à false).

  • name : nom de la propriété à changer ou ajouter
  • value : valeur de la propriété à changer


L.Hash.removeArg(name)

Supprime du hash l'argument indiqué. Cette fonction met a jour le hash de l'url, un événement 'haschange' sera levé avec l'argument external à false).

  • name : nom de l'argument à supprimer


L.Hash.replace = function(args)

Remplace le hash de la page par celui correspondant aux arguments indiqué. Cette fonction met a jour le hash de l'url, un événement 'haschange' sera levé avec l'argument external à false).

  • args : object javascript decrivant les argument à indiquer dans le hash de l'url.


Événements

Il est possible de binder un evenement jquery sur le body pour intercepter les modifications du hash :

$("body").on("hashchange",function(event,args,old_args,external){
   ...
});

Avec :

  • event : L'event Jquery (pas tres utile ici)
  • args : Object contenant les argument extraits du hash
  • old_args : Ancien object args, avant le changement . Permet de comparer les deux pour detecter si un valuer particuliere à changé.
  • external : boolean indiquant si le changement du hash est interne (modifié par l'appele d'une des méthodes si dessus) ou externe (par modification de l'url).