Articulo de referencia

Folleto (software)

{{cite web |url=https://github.com/Leaflet/Leaflet/blob/master/LICENSE |title=License - Leaflet |access-date=2018-11-03 |publisher=Leaflet}} "},"website":{"wt":"{{URL|leafletjs....

Leaflet es una biblioteca de JavaScript que se utiliza para crear aplicaciones de mapas web . Permite a los desarrolladores mostrar mapas web en mosaico alojados en un servidor público, con superposiciones de mosaico opcionales. Puede cargar datos de entidades desde archivos GeoJSON , darles estilo y crear capas interactivas, como marcadores con ventanas emergentes al hacer clic.

Lanzada por primera vez en 2011, [ 3 ] es compatible con la mayoría de las plataformas móviles y de escritorio, y admite HTML5 y CSS3 . Entre sus usuarios se encuentran FourSquare , Pinterest , Flickr y el USGS .

Leaflet es de código abierto y fue desarrollado por el desarrollador ucraniano Volodymyr Agafonkin, quien se unió a Mapbox en 2013. [ 4 ]

Usar

Una demostración básica usando Leaflet.

Un uso típico de Leaflet consiste en vincular un elemento "mapa" de Leaflet a un elemento HTML como un div . A continuación, se añaden capas y marcadores al elemento mapa. [ 5 ]

Características

Leaflet admite de forma nativa capas de servicio de mapas web (WMS), capas GeoJSON , capas vectoriales y capas de mosaicos. Muchos otros tipos de capas son compatibles mediante complementos .

Al igual que otras bibliotecas de mapas web, el modelo de visualización básico implementado por Leaflet consiste en un mapa base, más cero o más superposiciones translúcidas, con cero o más objetos vectoriales mostrados encima.

Elementos

Los principales tipos de objetos de Leaflet son: [ 6 ]

  • Tipos de ráster (TileLayer y ImageOverlay)
  • Tipos de vectores (trayectoria, polígono y tipos específicos como círculo)
  • Tipos agrupados (LayerGroup, FeatureGroup y GeoJSON)
  • Controles (Zoom, Capas, etc.)

También existe una variedad de clases de utilidad, como interfaces para gestionar proyecciones, transformaciones e interactuar con el Modelo de Objetos del Documento (DOM).

Compatibilidad con formatos SIG

Leaflet ofrece soporte básico para múltiples formatos estándar de sistemas de información geográfica (SIG), y admite otros formatos mediante complementos.

Compatibilidad con navegadores

Leaflet 1.9 es compatible con Chrome, Firefox, Safari 5+, Opera 12+, IE 9–11 y Edge. [ 13 ]

Leaflet 0.7 era compatible con Chrome, Firefox, Safari 5+, Opera 12+ e IE 7–11. [ 14 ]

Comparación con otras bibliotecas

Leaflet es directamente comparable con OpenLayers , ya que ambas son bibliotecas JavaScript de código abierto y solo del lado del cliente. La biblioteca en su conjunto es mucho más pequeña, alrededor de 7000 líneas de código en comparación con las 230 000 de OpenLayers (a partir de 2015). [ 15 ] Tiene una huella de código menor que OpenLayers (alrededor de 123 KB [ 16 ] frente a 423 KB [ 17 ] ) debido en parte a su estructura modular. La base de código es más reciente y aprovecha las características recientes de JavaScript, además de HTML5 y CSS3. Sin embargo, Leaflet carece de características que admite OpenLayers, como el Servicio de Características Web (WFS) [ 18 ] y la compatibilidad nativa con proyecciones distintas de Google Web Mercator (EPSG 3857). [ 19 ]

También es comparable a la API propietaria y de código cerrado de Google Maps (lanzada en 2005) y a la API de Bing Maps , las cuales incorporan un importante componente del lado del servidor para proporcionar servicios como geocodificación , enrutamiento , búsqueda e integración con funciones como Google Earth . La API de Google Maps ofrece velocidad y simplicidad, pero no es flexible y solo se puede usar para acceder a los servicios de Google Maps. Sin embargo, la nueva parte DataLayer de la API de Google permite mostrar fuentes de datos externas. [ 20 ]

Historia

Leaflet nació en 2010 como "Web Maps API", una biblioteca JavaScript para el proveedor de mapas CloudMade, donde Agafonkin trabajaba en ese momento. En mayo de 2011, CloudMade anunció la primera versión de Leaflet, creada desde cero pero utilizando partes del código de la antigua API. [ 21 ]

  • 0.1: 17 de mayo de 2011
  • 0.2: 18 de junio de 2011
  • 0.3: 14 de febrero de 2012
  • 0.4: 30 de julio de 2012
  • 0.5: 17 de enero de 2013
    • Esta versión introdujo compatibilidad con Retina y muchas mejoras en la usabilidad y la experiencia del usuario. [ 22 ]
  • 0.6: 26 de junio de 2013
    • Esta versión amplió la gama de métodos y eventos de la API, mejoró la usabilidad y añadió la función de guardar en formato GeoJSON. Se completó en un sprint de código de dos días con el apoyo de Mapbox. [ 23 ]
  • 0.7: 22 de noviembre de 2013
    • Esta versión se centró en la corrección de errores, anunciando que pronto se realizarían refactorizaciones y se abordarían posibles incompatibilidades con versiones anteriores. [ 24 ]
  • 1.0: 27 de septiembre de 2016
    • Esta versión contenía más de 400 cambios en comparación con la v0.7.7: [ 25 ]
      • Mejoras de rendimiento en todos los aspectos de la biblioteca y, en particular, en las capas vectoriales.
      • Animaciones de sobrevuelo (zoom y desplazamiento en curva).
      • Compatibilidad con niveles de zoom fraccionados.
      • Mejor algoritmo de carga de mosaicos con menos parpadeo.
      • Gestión de paneles personalizados (incluidos paneles de capas vectoriales múltiples y capas de mosaico y vectores intercalados).
      • Mejor soporte para proyecciones no estándar.
      • Más funciones de accesibilidad.
      • Documentación mejorada.
      • Mejoras en la estabilidad.
  • 1.1: 27 de junio de 2017 [ 26 ]
    • Esta versión añade superposiciones de vídeo y realiza la transición a los módulos ECMAScript 6.
  • 1.2: 25 de octubre de 2017
  • 1.3: 15 de enero de 2018
  • 1.3.2: 17 de julio de 2018
  • 1.3.3: 18 de julio de 2018
  • 1.3.4: 21 de agosto de 2018
  • 1.4.0: 30 de diciembre de 2018
  • 1.5.0 y 1.5.1: 8 de mayo de 2019 [ 27 ] [ 28 ]
  • 1.6.0: 17 de noviembre de 2019 [ 29 ]
  • 1.7.0 y 1.7.1: 4 de septiembre de 2020 [ 30 ]
  • 1.8: 18 de abril de 2022 [ 31 ]
  • 1.9: 22 de septiembre de 2022 [ 32 ] [ 33 ]

En marzo de 2022, el desarrollador instó a tomar medidas contra la invasión rusa de Ucrania en el sitio web Leaflet. [ 34 ]

Referencias

  1. "v1.9.4 Última versión" . 18 de mayo de 2023. Consultado el 20 de mayo de 2023 .
  2. "Licencia - Folleto" . Folleto . Consultado el 3 de noviembre de 2018 .
  3. Lovelace, Robin. "Prueba de las API de mapas web: Google vs OpenLayers vs Leaflet" . Archivado del original el 3 de noviembre de 2017. Consultado el 3 de noviembre de 2018 .
  4. MacWright, Tom (6 de agosto de 2014). "El creador de Leaflet, Vladimir Agafonkin, se une a MapBox" . Archivado del original el 12 de septiembre de 2015. Consultado el 3 de noviembre de 2018 .
  5. "Creación de mapas interactivos en línea con Leaflet" . The Digital Orientalist . 3 de enero de 2019. Consultado el 20 de marzo de 2026 .
  6. "Referencia de la API de Leaflet" . Consultado el 3 de noviembre de 2018 .
  7. "Uso de GeoJSON con Leaflet" . Consultado el 3 de noviembre de 2018 .
  8. "leaflet-omnivore" . 5 de octubre de 2021 vía GitHub.
  9. "TileLayer.WMS" . Consultado el 3 de noviembre de 2018 .
  10. "TileLayer.WMS" . Consultado el 3 de noviembre de 2018 .
  11. "Ejemplo de Leaflet con WFS" . 19 de julio de 2019 vía GitHub.
  12. "Soporte para GML" . GitHub . 23 de junio de 2012. Consultado el 3 de noviembre de 2018 .
  13. "Leaflet - Características" . leafletjs.com . Archivado del original el 18 de julio de 2026. Consultado el 22 de julio de 2026 .
  14. "Características" . leafletjs.com . Archivado del original el 18 de enero de 2014. Consultado el 3 de noviembre de 2018 .
  15. "Comparación de OpenHub.net entre OpenLayers y Leaflet" . OpenHub.net . Archivado del original el 8 de agosto de 2014. Consultado el 3 de noviembre de 2018 .
  16. "Página principal de Leaflet" . Leaflet: una biblioteca JavaScript de código abierto para mapas interactivos adaptados a dispositivos móviles . Consultado el 3 de noviembre de 2018 .
  17. "Código fuente comprimido de OpenLayers 3.4.0" . OpenLayers.org. Archivado del original el 29/11/2016 . Consultado el 03/11/2018 .
  18. En https://leafletjs.com/plugins.html se enumeran varios complementos que ofrecen compatibilidad con WFS.
  19. "Proyección" . Consultado el 3 de noviembre de 2018 .
  20. "Capa de datos" . Plataforma de Google Maps . Google Inc. Consultado el 3 de noviembre de 2018 .
  21. "Presentación de Leaflet: una moderna biblioteca JavaScript de código abierto para mapas interactivos" . CloudMade . 13 de mayo de 2011. Consultado el 3 de noviembre de 2018 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  22. Agafonkin, Vladimir (17 de enero de 2013). "Se publicó el folleto 0.5" . Recuperado el 3 de noviembre de 2018 .
  23. Agafonkin, Vladimir (26-06-2013). "Leaflet 0.6 lanzado, Code Sprint en DC con MapBox" . Recuperado el 03-11-2018 .
  24. Agafonkin, Vladimir (18 de noviembre de 2013). "Lanzamiento de Leaflet 0.7, MapBox y planes para el futuro" . Recuperado el 3 de noviembre de 2018 .
  25. Agafonkin, Vladimir (27-09-2016). "Conoce el folleto 1.0" . Recuperado el 03-11-2018 .
  26. Liedman, Per (27-06-2017). "Anuncio de Leaflet 1.1.0" . leafletjs.com . Consultado el 22-07-2026 .
  27. Cherniavskii, Andrew (2019-05-08). "Anuncio de Leaflet 1.5.0" . leafletjs.com . Consultado el 22 de julio de 2026 .
  28. Cherniavskii, Andrew (2019-05-08). "Anuncio de Leaflet 1.5.1" . leafletjs.com . Consultado el 22 de julio de 2026 .
  29. Cherniavskii, Andrew (17 de noviembre de 2019). "Anuncio de Leaflet 1.6.0" . leafletjs.com . Consultado el 22 de julio de 2026 .
  30. Ortega, Iván Sánchez (04-09-2020). "Lanzamiento del folleto 1.7" . folletojs.com . Consultado el 22 de julio de 2026 .
  31. Agafonkin, Volodymyr (18 de abril de 2022). "Leaflet 1.8 se lanza en medio de la guerra" . leafletjs.com . Consultado el 22 de julio de 2026 .
  32. ^ Vaya, Jon (21 de septiembre de 2022). "Lanzamiento del folleto 1.9" . folletojs.com . Consultado el 22 de julio de 2026 .
  33. jonkoops (22-09-2022). "v1.9.0" . github.com . Consultado el 22-07-2026 .
  34. "Leaflet - una biblioteca JavaScript para mapas interactivos" . 21 de marzo de 2022. Archivado del original el 21 de marzo de 2022. Consultado el 22 de marzo de 2022 .
  • Aplicación web gratuita creada con Leaflet: embedMap