Widget:CarteFablabs : Différence entre versions
(20 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 | |format=csv | ||
+ | }} | ||
+ | |||
+ | cartographie tous les fablabs | ||
+ | {{#ask: [[Category:Fablabs]] | ||
+ | |?long # - | ||
+ | |?latt # | ||
+ | |?site | ||
}} | }} | ||
Ligne 40 : | 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> | ||
Ligne 64 : | Ligne 84 : | ||
//alert(xhr.responseText); | //alert(xhr.responseText); | ||
− | + | ||
− | |||
//le fichier arrive en CSV (valeurs séparées par des virgules) | //le fichier arrive en CSV (valeurs séparées par des virgules) | ||
var lignes=new RegExp("[\n]+", "g"); | var lignes=new RegExp("[\n]+", "g"); | ||
var tableau=xhr.responseText.split(lignes); | var tableau=xhr.responseText.split(lignes); | ||
var colones=new RegExp("[,]+", "g"); | var colones=new RegExp("[,]+", "g"); | ||
− | for(var i=1;i<tableau.length;i++) | + | for(var i=1;i<tableau.length-1;i++) |
{ | { | ||
var coords=tableau[i].split(colones); | var coords=tableau[i].split(colones); | ||
− | + | // alert(coords[0]); | |
− | L.marker([coords[ | + | 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"; | |
} | } | ||
Ligne 86 : | Ligne 105 : | ||
− | + | ||
Ligne 93 : | Ligne 112 : | ||
− | var map = L.map('<!--{$nom|escape:'quotes'|default:'carte'}-->').setView([<!--{$longitude|escape:'quotes'|default:' | + | 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 101 : | 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>