=== Devenzi Map Studio ===
Contributors: devenzi
Tags: map, maps, openstreetmap, store locator, custom map
Requires at least: 6.3
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Beautiful, fast maps without Google and without an API key. Your own places, areas and routes – in your brand colour.

== Description ==

Embedding Google Maps usually means an iframe you cannot style, no places of your own, an API key with a credit card – and a cookie banner. Map Studio is different: modern vector maps based on OpenStreetMap that you design in a full-screen editor made for maps – no forms, just designing.

= No API key, no account =

Install, open Map Studio, start designing. No sign-up, no key, no billing account. The maps are sharp on every screen and zoom smoothly.

= Designing, not filling in forms =

* The map fills the screen; your places on the left, the look on the right, the tools at the bottom.
* Search an address, street, town or business with suggestions while you type.
* Undo and redo, keyboard shortcuts, and a preview as visitors see it – on computer, tablet and phone.
* Start empty or with a template: store finder, delivery area, hiking route, event site plan.
* Import places and shapes from a table (CSV/Excel – addresses are found automatically), Google My Maps (KML) or GeoJSON.

= Your brand colour =

Six map styles as preview tiles: light, night, colourful, clear, fjord – and "Brand colour", which recolours the whole map from one colour. Pins, areas and buttons follow along.

= Your own places =

* 26 icons or a photo, as drop, circle, square or just the icon, in three sizes; any colour per place.
* Popups with formatted text, several photos to swipe through, a button to your page and "Get directions".
* **Opening hours** with "Open · until 18:00" right in the popup and the list.
* Categories as tags; highlight important places with a bigger pin.
* **List of places** next to or below the map, with category filter, search and a **"Near me"** button that sorts by distance.
* Many places? Nearby pins group into a bubble with their number.

= Areas and routes =

* Draw a delivery zone, a district or a walking route right on the map, and edit its points later.
* Areas show their size and can have their name in the middle; routes their length, start and finish.
* Fill and outline colour, opacity, line width, solid, dashed or dotted lines.

= 3D buildings and more =

3D buildings, fullscreen and "my location" buttons, a night style for visitors in dark mode, and the map can be kept to one area.

= Privacy-friendly =

* Optionally the map loads only after a click ("load after click"), with your own notice text.
* Nothing is loaded before the map scrolls into view.
* A privacy page in the admin shows what is loaded when, plus a ready-made text for your privacy policy.

= Saved maps and shortcode =

Make a map once and use it anywhere: with the "Map Studio" block, or with `[map_studio id="…"]` in Elementor, Divi, widgets and classic themes. Change it once, and it changes everywhere. All maps at a glance as live maps, and defaults for new maps with a live preview.

= Fast =

The map library is only loaded on pages with a map, and only when the map comes into view.

= Languages =

English and German (du and Sie).

== Installation ==

1. Install Map Studio under Plugins → Add New and activate it.
2. Go to Map Studio → New map. The full-screen editor opens.
3. Pick a style, search or click to add places, save.
4. In a post or page, add the "Map Studio" block and choose your map – or paste its shortcode into a page builder or widget.

== Frequently Asked Questions ==

= Do I need an API key or an account? =

No. The map tiles come from OpenFreeMap, a free and open map service. There is nothing to sign up for.

= Is it really free? Are there limits? =

The plugin is free. OpenFreeMap has no usage limits for normal websites. If you want to be completely independent, a Pro version that hosts the map data for your region on your own server is planned.

= Is it GDPR-friendly? =

When a map is shown, the visitor's browser loads the map tiles from OpenFreeMap (IP address is transmitted). If you have no consent tool, switch on "Load maps only after a click" under Map Studio → Privacy: then nothing is loaded until the visitor agrees. The privacy page also gives you a text for your privacy policy. This is not legal advice.

= Can I use it with Elementor, Divi or classic themes? =

Yes. Save the map under Map Studio → Maps and paste its shortcode `[map_studio id="…"]` anywhere shortcodes work. You can also change the height: `[map_studio id="12" height="400"]`.

= Can I show many locations, like a store locator? =

Yes. Import your locations from a table or add them one by one, then switch on the list of places. Visitors can filter by category, search, sort by distance with "Near me", and see who is open right now. The "Store finder" template sets all of this up.

= Does it replace Google Maps? =

For showing your locations, areas and routes: yes. "Get directions" still hands over to Google Maps, Apple Maps or OpenStreetMap – only when a visitor clicks it.

= What happens when I delete the plugin? =

Its settings and saved maps are removed. Maps placed directly in posts stay in the post content but are no longer shown.

== Screenshots ==

1. Your places with opening hours, a list with filter and "Near me", an area and a route – in your brand colour.
2. The editor: the map in full screen, places on the left, the look on the right, tools at the bottom.
3. A place: formatted text, categories as tags, 26 icons, its own colour and opening hours.
4. Areas and routes: drag their points, see sizes and lengths, put the name in the middle.
5. 3D buildings, here with a blue brand colour.
6. All your maps as live maps, with the shortcode to copy.
7. Defaults for new maps with a live preview that shows what each setting changes.
8. Privacy-friendly: the map loads only after a click if you want.

== Third-party services ==

The map tiles, fonts and icons are loaded from **OpenFreeMap** (https://openfreemap.org/) when a map is shown. The visitor's IP address is transmitted to OpenFreeMap and its CDN (Cloudflare). Terms: https://openfreemap.org/tos/ · Privacy: https://openfreemap.org/privacy/

In the editor only, the search uses **Photon** by Komoot (https://photon.komoot.io/, suggestions while you type) and **Nominatim** by OpenStreetMap (https://nominatim.openstreetmap.org/). Visitors never connect to them. Photon: https://photon.komoot.io/ · Komoot privacy: https://www.komoot.com/privacy · Nominatim usage policy: https://operations.osmfoundation.org/policies/nominatim/ · Privacy: https://osmfoundation.org/wiki/Privacy_Policy

Map data © OpenStreetMap contributors (https://www.openstreetmap.org/copyright).

== Source code ==

The plugin bundles MapLibre GL JS 6.14.0 (BSD-3-Clause) in assets/vendor/maplibre. Its source is at https://github.com/maplibre/maplibre-gl-js.

== Changelog ==

= 0.1.0 =
* First version: a full-screen map editor with templates, import and search, six styles and brand colour, places with icons, photos, formatted text and opening hours, list of places with filter, search and "Near me", grouped pins, areas and routes with sizes, 3D buildings, load after click, saved maps with block and shortcode, defaults with live preview, privacy settings.
* German translation (du and Sie).
