PHPackages                             kxka/leafletjs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. kxka/leafletjs

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

kxka/leafletjs
==============

Interactive Leaflet map with marker clustering. Displays a leaflet map using a preprocessed CSV file with location data to prevent long query times for large data sets.

1.1.0(1mo ago)03GPL-2.0-or-laterJavaScriptCI passing

Since Dec 4Pushed 1mo agoCompare

[ Source](https://github.com/digitalutsc/leafletjs)[ Packagist](https://packagist.org/packages/kxka/leafletjs)[ Docs](https://github.com/digitalutsc/leafletjs)[ RSS](/packages/kxka-leafletjs/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (8)Versions (7)Used By (0)

LeafletJS Drupal Module
-----------------------

[](#leafletjs-drupal-module)

Displays a leaflet map using a preprocessed file (.csv or .geojson) with all location data to prevent long query times for large data sets

Usage
-----

[](#usage)

Install with `composer require kxka/leafletjs`

1. Go to Structure &gt; Block layout
2. Click "Place block"
3. Search for "LeafletJS"

Configuration
-------------

[](#configuration)

- Title
- Map Height
- Location Data File: `.csv`, `.json`, or `.geojson`
- Override autofit zoom and center to set default zoom and center

File Formats
------------

[](#file-formats)

### CSV Format

[](#csv-format)

```
Title,Coordinates,Link,Thumbnail
"Title1","67.913381, -48.204069",https://islandora.dev/node/10,https://islandora.dev/system/files/file1.jpg
"Title2","72.425063, 91.628126",https://islandora.dev/node/9,https://islandora.dev/system/files/file2.jpg
```

### GeoJSON Format

[](#geojson-format)

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [18.692492, -51.061725] },
      "properties": {
        "name": "",
        "description": "",
        "title": "Contemporary Materials",
        "search_api_url": "https://islandora.dev/node/2",
        "islandora_object_thumbnail": "https://islandora.dev/system/files/styles/large/private/2025-12/facebook-1-logo-png-transparent.png?itok=rVxWQ-Rw"
      }
    },
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [120.583837, -67.782708] },
      "properties": {
        "name": "",
        "description": "",
        "title": "Research Manuscripts",
        "search_api_url": "https://islandora.dev/node/4",
        "islandora_object_thumbnail": "https://islandora.dev/system/files/styles/large/private/2025-12/facebook-1-logo-png-transparent.png?itok=rVxWQ-Rw"
      }
    }
  ]
}
```

**Note:** Files are converted to `.js` format after upload. GeoJSON coordinates use `[longitude, latitude]` order.

Folder Structure
----------------

[](#folder-structure)

```
drupal_leafletjs/
├── css/
│   ├── style.css                          # Custom map styles
│   └── L.Control.ResetView.min.css       # Reset button styles
├── images/
│   └── redo-solid.svg                     # Reset button icon
├── js/
│   ├── leafletjs.js                       # Map initialization script
│   ├── markercluster-src.js              # Marker clustering library
│   └── L.Control.ResetView.min.js        # Reset view control
├── libraries/
│   ├── MarkerCluster.css                  # Cluster styling
│   └── MarkerCluster.Default.css         # Default cluster theme
├── src/
│   └── Plugin/
│       └── Block/
│           └── LeafletjsBlock.php        # Main block plugin
├── templates/
│   └── leafletjs.html.twig               # Map container template
├── leafletjs.info.yml                     # Module definition
├── leafletjs.libraries.yml                # Library definitions
├── leafletjs.module                       # Module hooks
└── README.md

```

Credits
-------

[](#credits)

This module uses the following open-source libraries:

- **[Leaflet](https://leafletjs.com/)**
- **[Leaflet.markercluster](https://github.com/Leaflet/Leaflet.markercluster)**
- **[L.Control.ResetView](https://github.com/drustack/Leaflet.ResetView)**

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance90

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 76.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~39 days

Total

4

Last Release

47d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/224904432f06962b87020f036cfd6da1a6c5ed3ab8aa632aa1757de619104746?d=identicon)[Akkinson](/maintainers/Akkinson)

---

Top Contributors

[![Kxka](https://avatars.githubusercontent.com/u/86553152?v=4)](https://github.com/Kxka "Kxka (20 commits)")[![Aryan-R-Patel](https://avatars.githubusercontent.com/u/107621152?v=4)](https://github.com/Aryan-R-Patel "Aryan-R-Patel (3 commits)")[![kylehuynh205](https://avatars.githubusercontent.com/u/7862086?v=4)](https://github.com/kylehuynh205 "kylehuynh205 (3 commits)")

---

Tags

drupalgeolocationmapleafletclusteringmarkers

### Embed Badge

![Health badge](/badges/kxka-leafletjs/health.svg)

```
[![Health](https://phpackages.com/badges/kxka-leafletjs/health.svg)](https://phpackages.com/packages/kxka-leafletjs)
```

###  Alternatives

[farmos/farmos

A web-based farm record keeping application.

1.2k6.7k1](/packages/farmos-farmos)[symfony/ux-map

Easily embed interactive maps in your Symfony application

18178.5k4](/packages/symfony-ux-map)[symfony/ux-leaflet-map

Symfony UX Map Leaflet Bridge

13146.6k1](/packages/symfony-ux-leaflet-map)[tripal/tripal

Tripal is a toolkit to facilitate construction of online genomic, genetic (and other biological) websites.

709.9k9](/packages/tripal-tripal)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
