jezzdk/statamic-mapbox

There is no license information available for the latest version (v2.1.0) of this package.

v2.1.0 2024-01-18 21:45 UTC

This package is auto-updated.

Last update: 2024-12-18 23:47:30 UTC


README

Statamic 4.0+ Latest Version on Packagist

A Mapbox addon for Statamic V4 for creating and displaying a Mapbox map on your website.

Installation

Require it using Composer.

composer require jezzdk/statamic-mapbox

Publish the config file

php artisan vendor:publish --provider="Jezzdk\StatamicMapbox\ServiceProvider"

Add an environment variable, since this library uses Mapbox under the hood for displaying maps.

MAPBOX_API_KEY=""

Lastly, insert this tag in the header in order to load the Mapbox JavaScript on the frontend:

{{ mapbox_script }}

*Disclaimer* You will need a Mapbox account if you want to create an API key.

Usage

This addon provides a Mapbox field (Pro feature). You can use that in your blueprints which will enable your users to dynamically insert maps onto your website.

There is also a tag that you can use directly in your Antlers template. I'll explain both use cases below.

Mapbox Tag

The simplest way to insert a map is by inserting the tag with longitude and latitude:

<div style="width: 500px; height: 400px">
    {{ mapbox lng="12.1234" lat="52.1234" zoom="8" marker="true" showControls="true" }}
</div>

This will insert a map centered on the given coordinates and display a marker. The Mapbox tag supports the following attributes:

Mapbox Field (Pro feature)

Simply select the fieldtype when creating a blueprint. When a user pans around the map, changes zoom level or changes the map type, the settings are saved and the output will display the same view as selected in the control panel.

The field has a few settings:

  • Initial map type - choose which map type should be selected when the map is loaded initially in the control panel
  • Initial zoom level - choose the zoom level when the map is loaded initially in the control panel
  • Enable maptype selector - Allow the user to select the map type
  • Enable marker creation - The user can create and remove a marker on the map
  • Enable Geocoder - This adds a search field on the map, enabling the user to search for ie. an address

When using markers, the script will look for an icon at /public/assets/marker.png. If it exist it will be used, otherwise it will use the default Mapbox pin.

Styles (Pro feature)

The map can be styled using a specific Mapbox style URL. You can generate the style and get the URL for free at https://studio.mapbox.com/.

The field has an input field where the style URL can be inserted, when the map type is set to custom. The mapbox tag has a style attribute for the same purpose.