Download the PHP package anvildevxyz/craft-cartograph without Composer
On this page you can find all versions of the php package anvildevxyz/craft-cartograph. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download anvildevxyz/craft-cartograph
More information about anvildevxyz/craft-cartograph
Files in anvildevxyz/craft-cartograph
Package craft-cartograph
Short Description Craft CMS map field foundation using OpenFreeMap vector tiles and MapLibre GL JS.
License proprietary
Homepage https://github.com/anvildevxyz/craft-cartograph
Informations about the package craft-cartograph
Cartograph
Map fields for Craft 5 using OpenFreeMap-compatible styles and MapLibre GL JS. No API keys.
Requirements
Craft 5.x, PHP 8.2+, MySQL ≥ 8.0.17 / MariaDB (same check) or PostgreSQL ≥ 13 (proximity needs JSON support in elements_sites.content).
Install
For a path / Git package, add a Composer repositories entry in your Craft project, then composer require as usual.
Usage
Add Cartograph · Map Point or Map GeoJSON under Settings → Fields, attach to an entry type, then in templates:
Map GeoJSON (FeatureCollection or normalizable geometry):
Embed preset (default, compact, hero): {% include 'cartograph/map-embed' with { preset: 'compact', geojson: … } %}. Many entries → one map: craft.cartograph.mergeMapPoints(entries, ['handle']).
Proximity (anchor [lat, lng]):
GraphQL: fields are JSON strings (GeoJSONPoint / GeoJSONFeatureCollection); JSON.parse on the client. Use your Map Point handle as a filter: venueMap: { lat, lng, radius, orderByDistance }. Send Authorization: Bearer <token> and grant the schema site, section, and entry type read access. Endpoint: Craft’s graphql/api action (see Craft GraphQL).
Plugin and field options: docs/EXTENSIONS.md.
Self-hosted MapLibre
Default: MapLibre 4.7.1 from jsDelivr (SRI). To self-host, copy maplibre-gl.js / .css from the same version to your origin and set Self-hosted MapLibre asset base in plugin settings (folder URL, no trailing slash).
Multisite
Geometry is not localized per site row. For per-site locations use separate fields or structures.
License
See LICENSE.md.