F-d-ration_de_groupes/modeles/carte_yaller.html

72 lines
2.5 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[(#REM)
afficher la carte + le lien "Y aller" vers googlemaps avec coordonnées GPS
on envoie en paramètre:
- objet: rubrique | article
- id_objet: un id_article ou un id_rubrique
- les autres valeurs d'env possibles de GIS mais par défaut le modèle donne:
. zoom = 14
.zoom_molette = non
exemple: <carte_yaller|objet=article|id_objet=1|zoom=15>
Sans paramètres:
- si il y a un id_article ou id_rubrique dans le contexte il est utilisé comme objet + id_objet
- sinon si il y a un id_rubrique dans le contexte il est utilisé comme objet + id_objet
- sinon le modèle propose la carte par défaut de GIS (mais sans lien "y aller" ni coordonnées GPS)
]
[(#ENV{id_objet}|non)
[(#ENV{id_article}|?{
[(#ENV{id_article}|setenv{id_objet})] [(#VAL{article}|setenv{objet})]
,
[(#ENV{id_rubrique}|oui) [(#ENV{id_rubrique}|setenv{id_objet})] [(#VAL{rubrique}|setenv{objet})] ]
})]
]
<B_loc>
<div id="y_aller" class="js-hidden"><a href="" class="btn">Guidage GPS</a></div>
<BOUCLE_loc(GIS){objet}{id_objet}>
<a name="acces"></a>
[(#INCLURE{fond=modeles/carte_gis,
env,
objet=#ENV{objet},
id_objet=#ENV{id_objet},
zoom=#ENV{zoom,18},
zoom_molette=#ENV{zoom_molette,non}
})]
[(#REM) default_layer=google_satellite ]
<script type="text/javascript">
// fonction de creation du lien "y aller"
function creer_yaller(position) {
var dest = "#LAT,#LON";
var ici;
ici = position.coords.latitude + ',' + position.coords.longitude;
jQuery('#y_aller a').attr('href', 'https://www.google.com/maps/dir/' + ici + '/' + dest);
jQuery('#y_aller').removeClass('js-hidden');
}
// Fonction de callback en cas derreur
function erreur_position(error) {
var info = "Erreur lors de la géolocalisation : ";
switch(error.code) {
case error.TIMEOUT:
info += "Timeout !";
break;
case error.PERMISSION_DENIED:
info += "Vous navez pas donné la permission pour la géolocalisation";
break;
case error.POSITION_UNAVAILABLE:
info += "La position na pu être déterminée";
break;
case error.UNKNOWN_ERROR:
info += "Erreur inconnue";
break;
}
console.log(info);
}
jQuery(document).ready( function() {
// L'API geolocation est-elle disponible + geoloc activée?
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(creer_yaller,erreur_position);
}
});
</script>
<br />
<div class="coordonnees_gps">Coordonnées GPS: <a href="https://www.google.com/maps/dir/#LAT,#LON">#LAT,#LON</a></div>
</BOUCLE_loc>