noop(); pop(); map();


    0.3.0 • Public • Published


    A Leaflet plugin that visualizes heatmap facets from Solr 5.x

    Using with Leaflet

    // Create a SolrHeatmap layer and add it to the map
    var solr = L.solrHeatmap('', {
      // Solr field with geospatial data (should be type Spatial Recursive Prefix Tree)
      field: 'loc_srpt',
      // Set type of visualization. Allowed types: 'geojsonGrid', 'clusters'
      // Note: 'clusters' requires LeafletMarkerClusterer
      type: 'geojsonGrid'
    Option Type Default Description
    field String null Required. Solr field with geospatial data (should be type Spatial Recursive Prefix Tree)
    type String 'geojsonGrid' Type of visualization. Accepts geojsonGrid, clusters and heatmap
    solrRequestHandler String 'select' Request handler for Solr
    colors Array ['#f1eef6', '#d7b5d8', '#df65b0', '#dd1c77', '#980043'] Colors for heatmap. Array can be of any length.
    maxSampleSize Number Number.MAX_SAFE_INTEGER For improved performance, run Jenks classification on only a sample of Solr counts. Default value turns off sampling. Typical value is 400.
    queryAdapter String default A query adapter used to connect to a Solr interface. Useful for querying applications that may proxy through Solr.
    queryRadius Number 40 Radius (in pixels) used for querying nearby data


    L.SolrHeatmap layers fire all of the typical events from Leaflet. Additional events include:

    Event Data Description
    dataAdded Object fires when data is added to the map. Returns an object which is the JSON response from the Solr server

    Running locally

    Install Dependencies

    # Install JavaScript depencencies 
    $ npm install
    # Install local solr 
    $ gem install solr_wrapper

    Run Solr

    $ solr_wrapper

    Index fixture data

    $ npm run index

    Start local server

    npm run start

    View the example at

    Adapting to different API interfaces

    Leaflet Solr Heatmap uses an abstracted query adapater, that can be used to query API's besides the default Solr API. This has been used in Blacklight Heatmaps. Adapters can be added to the L.SolrHeatmapQueryAdapters object and then selected using the L.solrHeatmap options instantiation. Query adapters need to implment the following methods:

    Method | Returns | Purpose ajaxOptions | Object | Merged options object that defines $.ajax url and settings. responseFormatter | Object | A way to access a custom API resposne formatter. Should return an Object that behaves as the Solr Facet Heatmap JSON response (or just passes it through).




    npm i leaflet-solr-heatmap

    DownloadsWeekly Downloads






    Last publish


    • mejackreed