-
Deprecated
- This project is no longer active and not recommended for use.
- It works with WordPress version < 5.0 and the gutenberg plugin. But it doesn't work with any current version!
- It is left here for reference
Highly customizable Map Block for Gutenberg, based on Leaflet
- Customize the Map and its Features directly from within the Gutenberg Block
- Draw and edit Features. Markers, Lines, Polygons ...
- Customize Feature-Appearance. Icon/Shadow, Color, Opacity, Class-Names ...
- A Wysiwyg Editor to Edit the Popup-Content. Use Images/Videos/Audios inside the Popup-Content
- Customize the Map itself. Dimensions, Baselayers, Controls ...
- Map Features are shareable and can be used between users and posts (depending on Features settings)
Geo Masala on GitHub.It's open-source, free as freedom, free of cost and it will remain free.
How to use
Edit any Post with gutenberg and add a 'Geo Masala Map' block, save post and done. Your post will display a map.
- Draw some Features or select some from the Feature-Panel.
- The default Status for a new Feature is draft, only published ones are displayed in frontend.
- To get Features from other posts/users, open Feature-Panel and adjust the Filters.
- Edit the Feature, change status, icon or color, change the popup content and title.
- Open the Map Settings Panel and customize the controls.
- Change the Feature sharing settings for a single Feature, and reuse the Feature in other Posts
- ...
The Gutenberg Editor Plugin is required for WordPress versions prior to 5.0, see requirements
What is a Feature?
The term "Feature" is used in the cartographic context. A representation of a real-world object on a map (
feature|Definition - Esri Support GIS Dictionary).
Within this plugin, a Feature can represent a simple location (Marker), a way/route/track (Polyline) or an Area (Polygon/Rectangle).
A couple of properties are stored with the Feature, eg. appereance and popup-content data.
How does the Plugin work?
A Feature is saved as a post type, and not saved to the Block!
- The Plugin registered a new custom-post-type 'geom_feature'. Each geom_feature is used to store a single cartographic Feature, formatted in geoJSON. The cartographic Feature and other data (appearance, popup-content ...) are stored as post-meta.
- The geom_feature is registered without wordpress ui (List table and editing screen) or appearance in admin-navigation or admin-bar.
- When editing any post with gutenberg, the 'Geo Masala Map' block displays a leaflet map and some settings-panels beneath it. All crud actions (create, read, update, delete) for geom_feature(s) are handled within the editor block using the wp rest api and its backbone client. All geom_feature crud actions are saved immediately (Some ui elements have reset/save buttons).
- default post_status for geom_feature(s) is 'draft'.
- The Features-Panel lists geom_features. Features on Map are highlighted. If a Feature gets removed from map, the geom_feature is still saved and available to use.
- Therefor a Feature created by one post can be used in another post as well (depending on the individual feature settings). All changes made to a geom_feature are saved immediately and will effect all posts where the Feature is displayed.
- All attributes related to the map (and not to its features) are stored as block attributes.
In Development
The Plugin is in early development (and needs a sponsor to go on).
Some ui will change and more options will be added.
Coming soon hopefully:
- wiki and tutorials
- Possibility to draw routes on a map.
- Import for gpx/geoJSON/kml
- Method to add altitude and slope values for features
- Elevation profile for line/routes
- Color line/routes by z value or slope
- ...
Known issues:
- Currently there is a maximum for hundred Features, will be changed in future.
- Feature Sharing: The popover control controls if the Feature appears in a Feature-Pool. If it is already in use somwhere, it will still be used, but just not displayed in Feature-Panel.
Contribute
Thanks for beautiful ressoucres
0.1.4
-
fixed an error. Removed all calls to wp.utils
0.1.3
-
compatible with Gutenberg v3.7.0 and WordPress v4.9.8;
0.1.2
-
compatible with Gutenberg v3.6.2 and WordPress v4.9.8
- fix: lazy load script on frontend. only if el .wp-block-geom-map exist;
-
tweak: enqueue frontend asset-entry-scripts on all sites, and lazy load large scripts. before enqueue only if global post has block, so failed on archive pages;
0.1.1
-
Fixed error on archive pages;
-
Read the commit massages for further details;
0.1.0
-
compatible with wp 4.9.8 and gb 3.4.0;
- Added use of post_status for geom_features ( 'publish', 'draft' and 'trash' );
- restructuring blockUi;
-
ui: merged FeatureListPanel and its Feature Pool into one component FeatureList;
0.0.10
-
compatible with gutenberg 3.3.0;
- lazyloading scripts using load-js on frontend and admin;
- New style for block panels;
-
Read the commit massages for further details;
0.0.9
-
Use Images/Videos/Audios inside the Popup-Content;
-
Read the commit massages for further details;
0.0.8
-
Dynamic PopupOptions, MapOptions, MapDimensions;
- Edit Appearance for Polyline inherited Features, most https://leafletjs.com/reference-1.3.0.html#polyline-option now accessable;
- fixed: choose icon and shadow;
-
Read the commit massages for further details;
0.0.7
-
fix: geomData.api.root was still hardcoded;
0.0.6
-
copmatible with gb 3.2.0 and wp 4.9.7;
- fix: Plugin ensures function exist;
- fix: use geomData.api enstead of wpApiSettings;
- fix: removed Backbone.Memento from frontend;
0.0.5
Edit Popup, WysiwygControl works
Added Plugin assets
Updates grunt environment. Integrated updates from generator-pluginboilerplate 1.2.0
0.0.4
0.0.3
edited readme.
0.0.2
first stable version.
edited readme.
removed 'beautiful-dnd' and using 'react-virtualized' instead.
0.0.1
added custom_post_type geom_feature and started block geom/map
block not finished