Widget:CarteFablabs : Différence entre versions
(36 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
<noinclude> | <noinclude> | ||
− | {{#widget: | + | usage : |
+ | <nowiki> | ||
+ | {{#widget:CarteFablabs | ||
+ | |||
|nom=(optionnel) | |nom=(optionnel) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | } | + | |longitude=51(optionnel) |
− | + | ||
+ | |latitude=3.56(optionnel) | ||
+ | |||
+ | |zoom=1 a 18(optionnel) | ||
+ | |||
+ | |largeur=(optionnel) | ||
+ | |||
+ | |hauteur=(optionnel) | ||
+ | }} | ||
+ | </nowiki> | ||
+ | |||
+ | trouver les coordonnées : http://universimmedia.pagesperso-orange.fr/geo/nievre.htm | ||
on peut utiliser un droplet présent sur cette page pour connaitre les coords d'un objet :http://www.mediawikiwidgets.org/Google_Maps | on peut utiliser un droplet présent sur cette page pour connaitre les coords d'un objet :http://www.mediawikiwidgets.org/Google_Maps | ||
− | + | ||
inspiration: http://www.mediawikiwidgets.org/w/index.php?title=Widget:Google_Maps&action=edit | inspiration: http://www.mediawikiwidgets.org/w/index.php?title=Widget:Google_Maps&action=edit | ||
+ | |||
+ | ne pas effacer ! ça sert ! | ||
{{#ask: [[Category:Fablabs]] | {{#ask: [[Category:Fablabs]] | ||
− | | ?long # - | + | |?long # - |
|?latt # | |?latt # | ||
+ | |?site | ||
+ | |format=csv | ||
+ | }} | ||
+ | |||
+ | cartographie tous les fablabs | ||
+ | {{#ask: [[Category:Fablabs]] | ||
+ | |?long # - | ||
+ | |?latt # | ||
+ | |?site | ||
}} | }} | ||
Ligne 28 : | Ligne 48 : | ||
</noinclude> | </noinclude> | ||
+ | |||
+ | |||
Ligne 37 : | Ligne 59 : | ||
<script src="http://cdn.leafletjs.com/leaflet-0.4/leaflet.js"></script> | <script src="http://cdn.leafletjs.com/leaflet-0.4/leaflet.js"></script> | ||
− | <div id="<!--{$nom|escape:'quotes'|default:'carte'}-->" style="width: <!--{$largeur|escape:'quotes'|default:' | + | <div id="<!--{$nom|escape:'quotes'|default:'carte'}-->" style="width: <!--{$largeur|escape:'quotes'|default:'720'}-->px; height: <!--{$hauteur|escape:'quotes'|default:'420'}-->px"></div> |
+ | <div id="nombreLabos"></div> | ||
<script> | <script> | ||
− | var map = L.map('<!--{$nom|escape:'quotes'|default:'carte'}-->').setView([<!--{$longitude|escape:'quotes'|default:' | + | ///fonction pour recuperer la liste des coords des labs |
+ | function requete(url) { | ||
+ | if (window.XMLHttpRequest) // Mozilla, Safari,... | ||
+ | xhr = new XMLHttpRequest(); | ||
+ | else if (window.ActiveXObject) | ||
+ | xhr = new ActiveXObject("Microsoft.XMLHTTP"); | ||
+ | if (!xhr) { | ||
+ | alert("Abandon : Impossible de créer une instance Ajax"); | ||
+ | return false; | ||
+ | } | ||
+ | xhr.onreadystatechange = reponse; | ||
+ | xhr.open("GET", url, true); | ||
+ | xhr.send(null); | ||
+ | } | ||
+ | |||
+ | function reponse() { | ||
+ | if (xhr.readyState == 4) { | ||
+ | if (xhr.status == 200) { | ||
+ | |||
+ | //alert(xhr.responseText); | ||
+ | |||
+ | |||
+ | //le fichier arrive en CSV (valeurs séparées par des virgules) | ||
+ | var lignes=new RegExp("[\n]+", "g"); | ||
+ | var tableau=xhr.responseText.split(lignes); | ||
+ | var colones=new RegExp("[,]+", "g"); | ||
+ | for(var i=1;i<tableau.length-1;i++) | ||
+ | { | ||
+ | var coords=tableau[i].split(colones); | ||
+ | // alert(coords[0]); | ||
+ | L.marker([coords[2], coords[1]]).addTo(map).bindPopup("<b><a href="+coords[3]+" target=\"_blank\">"+coords[0]+"</a></b>"); | ||
+ | } | ||
+ | document.getElementById("nombreLabos").innerHTML = "Il ya actuellement "+tableau.length+" laboratoires renseignés sur cette page"; | ||
+ | |||
+ | } | ||
+ | else { | ||
+ | alert("La requête AJAX a rencontré un problème .."); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ///////////fin javaload | ||
+ | |||
+ | |||
+ | |||
+ | var map = L.map('<!--{$nom|escape:'quotes'|default:'carte'}-->').setView([<!--{$longitude|escape:'quotes'|default:'47'}-->, <!--{$latitude|escape:'quotes'|default:'1.7'}-->], <!--{$zoom|escape:'quotes'|default:'5'}-->); | ||
L.tileLayer('http://{s}.tile.cloudmade.com/7ad1b23bf3f347f8b0ab2416f66737fc/997/256/{z}/{x}/{y}.png', { | L.tileLayer('http://{s}.tile.cloudmade.com/7ad1b23bf3f347f8b0ab2416f66737fc/997/256/{z}/{x}/{y}.png', { | ||
Ligne 48 : | Ligne 120 : | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | //appel de la liste des labs | |
+ | requete("Sp%C3%A9cial:Ask/-5B-5BCategory:Fablabs-5D-5D/-3FLong-23-2D/-3FLatt-23-2D/-3FSite/limit%3D150/format%3Dcsv/sep%3D,/headers%3Dshow"); | ||
</script> | </script> |
Version actuelle en date du 6 novembre 2012 à 11:36
usage : {{#widget:CarteFablabs |nom=(optionnel) |longitude=51(optionnel) |latitude=3.56(optionnel) |zoom=1 a 18(optionnel) |largeur=(optionnel) |hauteur=(optionnel) }}
trouver les coordonnées : http://universimmedia.pagesperso-orange.fr/geo/nievre.htm
on peut utiliser un droplet présent sur cette page pour connaitre les coords d'un objet :http://www.mediawikiwidgets.org/Google_Maps
inspiration: http://www.mediawikiwidgets.org/w/index.php?title=Widget:Google_Maps&action=edit
ne pas effacer ! ça sert !
CSV
cartographie tous les fablabs
L.marker([51.5, -0.09]).addTo(map)
.bindPopup("Hello world!
I am a popup.").openPopup();
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.4.4/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.4/leaflet.js"></script>
<script>
///fonction pour recuperer la liste des coords des labs function requete(url) { if (window.XMLHttpRequest) // Mozilla, Safari,...
xhr = new XMLHttpRequest();
else if (window.ActiveXObject)
xhr = new ActiveXObject("Microsoft.XMLHTTP");
if (!xhr) {
alert("Abandon : Impossible de créer une instance Ajax"); return false;
} xhr.onreadystatechange = reponse; xhr.open("GET", url, true); xhr.send(null); }
function reponse() { if (xhr.readyState == 4) {
if (xhr.status == 200) {
//alert(xhr.responseText);
//le fichier arrive en CSV (valeurs séparées par des virgules)
var lignes=new RegExp("[\n]+", "g");
var tableau=xhr.responseText.split(lignes);
var colones=new RegExp("[,]+", "g");
for(var i=1;i<tableau.length-1;i++)
{ var coords=tableau[i].split(colones); // alert(coords[0]); L.marker([coords[2], coords[1]]).addTo(map).bindPopup("<a href="+coords[3]+" target=\"_blank\">"+coords[0]+"</a>"); } document.getElementById("nombreLabos").innerHTML = "Il ya actuellement "+tableau.length+" laboratoires renseignés sur cette page";
} else { alert("La requête AJAX a rencontré un problème .."); } }
}
///////////fin javaload
var map = L.map().setView([, ], );
L.tileLayer('http://{s}.tile.cloudmade.com/7ad1b23bf3f347f8b0ab2416f66737fc/997/256/{z}/{x}/{y}.png', { maxZoom: 18, attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>' }).addTo(map);
//appel de la liste des labs
requete("Sp%C3%A9cial:Ask/-5B-5BCategory:Fablabs-5D-5D/-3FLong-23-2D/-3FLatt-23-2D/-3FSite/limit%3D150/format%3Dcsv/sep%3D,/headers%3Dshow");
</script>