
內容簡介
Waymark 是一款強大的地圖創建外掛,允許用戶輕鬆地製作互動地圖,並添加標記、線條和形狀。透過直觀的編輯器,使用者可以自定義地圖內容,並支持多種數據格式的導入與導出,適合各類型的地圖需求。
【主要功能】
• 直觀的地圖編輯器,支持多種互動覆蓋層
• 支援 GPX、KML、GeoJSON 等多種數據格式導入
• 自訂元數據,增加地圖的額外資訊
• 集合功能,將多個地圖分組顯示
• 前端提交功能,允許用戶創建地圖
• 短碼支持,輕鬆嵌入地圖至任何頁面
外掛標籤
開發者團隊
原文外掛簡介
❤️ Keep This Project Alive Through Sponsorship ❤️
Creating Maps
Use the intuitive Editor to create Maps with one, or thousands of interactive Overlays.
Overlays – Create Markers, Lines and Shapes with a:
Title
Image (Media Library or link to external image)
Description (Rich text editor, HTML supported)
Type (defined in Settings)
Import
GPX
KML
GeoJSON
EXIF (Image location metadata)
Elevation data (adds an interactive profile chart for Lines with elevation data)
Meta – Add extra information to your Maps; these are customisable form inputs that allow you to add additional content to your Maps.
Types – Set options to visually distinguish between Overlays (colours/icons etc.), then select it when using the Editor.
Collections – Group Maps together and display multiple Maps at once. Create complex Collection hierarchies to suit your needs and associate Maps with multiple Collections.
Submissions – Allow registered users, or guests to create Maps from the front-end of your site. You can control who can Submit Maps, what editor features are available and whether submissions should be approved before they are published.
🌟 GitHub
👐 WordPress
📖 Demo & Docs
Displaying Maps
Embed your Maps using the [Waymark] Shortcode, or link to the Map Details page.
Shortcodes
Display a single Map, or a Collection of Maps anywhere that Shortcodes are supported.
An optional Shortcode Header displays the Map/Collection title, a link to the Map Details page and any Meta.
Display a Marker defined through the Shortcode.
Display a Basemap only, without any Overlays by providing centre and zoom parameters.
Basemaps – Uses OpenStreetMap by default, with support for multiple raster tiled/”slippy” Basemaps. You can switch Basemaps using the Overlay Filter.
Overlay Filter – Allow the user to filter which Overlays are currently visible on the Map.
Export
(Optionally) Let anyone Export Maps into GPX, KML and GeoJSON formats through the Shortcode Header or on the Map Details page.
Works on mobile devices.
Customising
Built to be flexible, Waymark has lots of Settings and Types provide one place to control how Overlays (Markers/Lines/Shapes) are displayed.
Marker Icons can be provided as:
– Font Icons (Ionic Icons v2/Font Awesome v4)
– Simple Text, or Emojis (i.e. 🏕️, 🚩, 📸).
– Custom HTML (good ol’ , or a more complex structure). So you can pretty much create any kind of Icon you want.
For developers:
Most elements can be styled using CSS and have sensibly named waymark- classes.
WordPress integration:
Maps are stored using the custom post type waymark_map.
Collections use the waymark_collection Taxonomy.
Embed Maps using the [Waymark] Shortcode anywhere they are supported, or dynamically using the do_shortcode(["Waymark"]) function.
Geographical data is stored in GeoJSON format. Types are specified using the type Property, i.e. {feature: { geometry: { type: 'Point', coordinates: [0, 0] } }, properties: { type: 'Alert', title: 'Bridge Removed!' }.
Specify which GeoJSON feature properties to store when importing (Settings > Overlays > Properties). These can be automatically appended to the Overlay Description, or accessed programatically via the layer.feature.properties Object.
Maps are displayed using the Leaflet JavaScript library, which is bundled with Waymark and can be extended using the waymark_loaded_callback [callback function](https://www.ogis.org/waymark-wp/advanced/using-the-global-callback-function/.
Be sure to check out Map First, a minimal WordPress theme with an obsession for Maps (it’s open-source too and contains lots of comments about customisations).
Waymark is free, open-source (GPL v2) and a labour of Love. I try to keep the plugin well supported, so please feel free to reach out with any issues, questions or feedback.
Development
[!NOTE]
To develop locally you will need to have both Node.js and NPM installed.
Grunt is used to run the build script, which compiles the JavaScript and CSS and performs some other tasks.
# Clone the repository (and the Waymark JS submodule)
git clone --recurse-submodules https://github.com/opengis/waymark.git
# Navigate to the Waymark directory
cd waymark
# Install the dependencies (or pnpm/yarn install)
npm install
# Run the build script
grunt
The build script will watch for changes to the JavaScript and CSS files.
Pull requests are welcome!
[!IMPORTANT]
Waymark JS is responsible for the Viewer and Editor and is included as a Git submodule (/waymark-js directory). View on GitHub.
