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
https://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.