WP Manifestindependent plugin directory
manifest / integrations / bl-location-map

BL Location Map self-updates

Boart Longyear global locations map — interactive dark-mode map of corporate offices and authorized distributors. Usage: [bl_location_map] or [bl_location_map header="false"] to suppress the built-in title header on pages that already carry their own heading.

by Boart Longyear Drilling Products · github.com/lichthaus/bl-location-map · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/lichthaus/bl-location-map/archive/refs/heads/main.zip

Ships its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.

WordPress plugin that renders an interactive global map of Boart Longyear corporate offices and authorized distributors. Dark "Operations Console" style matching the BL Diamond Bit Configurator.

  • Corporate offices — orange pulsing markers
  • Distributors — blue markers
  • Drag / zoom the map; click a marker to open a slide-in detail panel (no popups covering the map)
  • Search, region filter, and type toggle (Corporate / Distributor / All)
  • Marker clustering when zoomed out
  • Mobile responsive (panel becomes full-width)

Installation

  1. Download the latest ZIP from the Releases page (or zip this repo).
  2. WordPress admin → Plugins → Add New → Upload Plugin → select the ZIP → Activate.
  3. Place the shortcode on your contact page:
[bl_location_map]

The plugin auto-checks update.json on the main branch and surfaces new versions in the WP Admin → Plugins update notifier.

Shortcode attributes

Attribute Default Description
header true Show the built-in "Global Locations" title bar. Set false if your page already carries its own heading.
height 78vh Map container height. Accepts px, vh, rem, em, %.
class (empty) Extra CSS class added to the wrapper, useful for theme overrides.

Examples:

[bl_location_map]
[bl_location_map header="false"]
[bl_location_map height="600px"]
[bl_location_map header="false" height="80vh" class="my-contact-map"]

Updating the locations dataset

Locations live in locations.json. Each row must include numeric lat and lng; rows without coordinates are silently skipped.

{
  "region": "North America",
  "type": "Corporate",          // "Corporate" or "Distributor"
  "company": "Boart Longyear …",
  "address": "…",
  "lat": 40.7608,
  "lng": -111.8910,
  "contact": "Sales",
  "phone": "+1 …",
  "email": "info@example.com",
  "web": "www.example.com"
}

After editing, bump BL_LOCMAP_VERSION in bl-location-map.php and the version field in update.json, then commit & push — connected sites will see the update notice.

Local preview

Open index.html directly in a browser (no server needed — the dataset is inlined for offline preview).

File layout

bl-location-map/
├── bl-location-map.php           Plugin entry, shortcode, asset enqueuing, auto-updater
├── assets/
│   ├── css/location-map.css      Dark "Operations Console" styles, scoped to .bl-locmap
│   └── js/location-map.js        Leaflet init, filtering, panel logic
├── locations.json                Source of truth for all locations
├── index.html                    Standalone offline preview (data inlined)
├── update.json                   Auto-updater manifest
└── README.md

Tech notes

  • Map library: Leaflet 1.9.4 (MIT, no API key)
  • Plugin: Leaflet.markercluster 1.5.3 (MIT)
  • Basemap: self-hosted Protomaps dark vector tiles rendered with protomaps-leaflet — no third-party tile provider, no API key. The .pmtiles archive is served same-origin from wp-content/bl-maps/. See basemap/README.md for hosting and rebuild instructions. (Replaced CARTO Dark Matter in v1.0.8 after its license expired.)
  • Data injection: PHP loads locations.json, hands it to JS via wp_localize_script plus an inline `