Leaflet.GeoCSV
: Pasando los datos a través de la URL
Código ejecutado
//instanciamos el mapa var mapa = L.map('mapa', {attributionControl:false}).setView([49, 3], 4); L.tileLayer('http://tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18 }).addTo(mapa); //devuelve el parámetro csv de la URL function getFromURL() { var csv = window.location.href.slice(window.location.href.indexOf('?') + 1); csv = csv.split('csv='); if (csv.length != 2) { csv = ''; } else { csv = csv[1]; } return decodeURIComponent(csv); } //configuración del GeoCSV, cambiamos el separador de líneas y el de campos //por otros más apropiados para las URL var capaGeoCSV = L.geoCsv (getFromURL(), { onEachFeature:function(f,l) { var popup = f.properties.popup; l.bindPopup(popup); }, lineSeparator: '||', fieldSeparator: ';;' }); //lo añadimos al mapa mapa.addLayer(capaGeoCSV);
Enlaces de ejemplo
http://website.com/from-url/?csv=48.8566;;2.3522;;París, capital de Francia||40.4168;;-3.7038;;Madrid, capital de España||41.9015;;12.4608;;Roma, capital de Italia||37.9837;;23.7293;;Atenas, capital de Grecia
Aviso
Este código es vulnerable a ataques XSS. Asegurate de sanear convenientemente la entrada de datos del usuario antes de usarlo en producción.