72 lines
2.5 KiB
HTML
72 lines
2.5 KiB
HTML
[(#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 d’erreur
|
||
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 n’avez pas donné la permission pour la géolocalisation";
|
||
break;
|
||
case error.POSITION_UNAVAILABLE:
|
||
info += "La position n’a 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>
|