Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Map Picker Laravel Package

dotswan/filament-map-picker

Filament v3 map picker field with OpenStreetMap integration. Let users select a location and get real-time coordinates when the marker moves. Customize controls and marker styling, with optional GeoMan tools for drawing and editing shapes.

View on GitHub
Deep Wiki
Context7
v2.3.3

This release fixes an issue where inlineLabel() and helperText() were not applied correctly to the Map field.

The field wrapper has been refactored to use Filament’s standard dynamic component pattern, ensuring full compatibility with built-in features and custom wrappers.

Thanks to @aymanalareqi 🙌

v2.3.2

This release introduces support for Laravel 13 🎉

v2.3.1

Fixed JavaScript variable conflicts with other Filament packages Resolved an issue where the bundled JavaScript output caused conflicts with other Filament packages (e.g., dotswan/filament-laravel-pulse) when used together on the same page.

v2.3.0

This release introduces support for Filament v5 🎉

Thanks to @Beiri for the collaboration.

v2.2.0

MapEntry Enhancements & Dependency Updates

New Features

  • Dynamic Coordinates: defaultLocation() now accepts closures for dynamic coordinate loading from records
  • GeoJSON Support: New geojsonData() method to display GeoJSON/GeoMan shapes in MapEntry infolists

Bug Fixes

  • Fixed MapEntry ignoring record coordinates and defaulting to browser location
  • Fixed state handling errors with undefined values
  • Fixed closure evaluation causing container initialization errors
v2.1.3

🐛 Bug Fixes

Map Component Improvements

  • Fixed z-index issues: Resolved Leaflet component z-index conflicts that caused sidebar and navbar overlap issues
  • Fixed Geoman layer editing: Added pm:edit event listener to newly created Geoman layers to ensure state updates are properly triggered when editing new layers

Contributors

v2.1.2
  • Replaced deprecated Tailwind CSS dependencies with the new CLI package.
  • Updated esbuild to version 0.24.0 for improved performance and compatibility.
  • Removed unused PostCSS configuration and Tailwind configuration files.
  • Adjusted CSS imports to align with the new Tailwind setup.
  • Cleaned up package.json and package-lock.json to reflect the changes in dependencies.
v2.1.1
  • Range selection now works within wizards (Step 2).
  • Map component can now react to Livewire state changes and actions, enabling features like postcode → location lookups or marker-driven state updates.

Big thanks to @artumi-richard for raising this PR and enhancing the user experience!

v2.0.3
  • Updated form restoration input retrieval to use refs for better compatibility.
  • Added checks to ensure form restoration input exists before accessing its value.
  • Modified the attach function to accept refs, improving the integration with the map picker component.
v2.0.2
  • Fix range select field to work with filament 4 ids
v2.0.1
  • Updated to match filament 4 naming

Thanks to @artumi-mandy for the collaboration 🙌

v2.0.0

Support for Filament v4

This release introduces support for Filament v4 🎉

A big thanks to @mohamed-ben-aisha for the collaboration and updates that made this possible 🙌

v1.8.8

🐛 Bug Fixes

  • Fix undefined variable issue
  • Fix typo in boundaries functions

🙌 Special Thanks

Big thanks to @JaZo for their contributions to this release! 💖

v1.8.7

🐛 Bug Fix Release

Fixed Issues

GeoJSON Polygon Visibility on MapEntry

v1.8.6

Fix: update tiles URL to use HTTPS for improved security

v1.8.5
  • Cleaned up CSS by removing redundant z-index properties related to map elements.

🔗 Related Issue: #89

v1.8.4

🗺️ Enhanced Map Configuration

  • Added support for multiple types of map configurations to provide more flexibility and better integration with different use cases.
  • Developers can now define diverse map behaviors and types more intuitively.

🛠 Fixes

🧭 Resolved MapEntry Component Error (#84)

  • Fixed the error: Public property [$location] not found on component
  • The issue occurred when rendering a MapEntry component without the expected $location property. This patch ensures the component handles this scenario gracefully.
v1.8.3

🧩 Release Summary

This update includes two key improvements for enhanced flexibility and compatibility, especially when using components in complex UI contexts like modals and slide-overs.


🎯 Fixes & Improvements

🗺️ Leaflet Map Compatibility in Slide-overs

  • Fixed display issues with Leaflet maps when used inside Filament slide-overs or modals.
  • Resolved z-index stacking conflicts caused by z-index: 1 !important in both fields and infolists Blade views.
  • Removed unnecessary z-index declarations.
  • Added targeted overrides for default leaflet.css styles to ensure proper rendering without affecting other layouts.

🔧 Closure Support for Component Methods (#78)

  • Added support for passing Closures to component methods that previously accepted only boolean values.
  • This change enhances flexibility, enabling more dynamic behavior when configuring components.

🙌 Special Thanks

Big thanks to @nirine1 for the valuable contributions in this release

v1.8.2
  • Update for support laravel 12
v1.8.1
  • Add https to tiles url
v1.8.0

Advanced Map Customization & GeoJSON Enhancements 🌍

This release brings expanded map configuration options, improved circle drawing support, and enhanced GeoJSON handling. Additionally, we’ve updated the bundled Leaflet library for better performance and compatibility. These updates provide greater flexibility, more precise interactions, and a smoother mapping experience.


📚 Documentation Updates

The README has been updated to include:

  • New configuration options for advanced map customization.
  • Instructions for using snappable, drawRectangle, and drawText methods.
  • Best practices for handling GeoJSON data and circle-specific properties.

⚡ Enhancements

🚀 Feature: Expanded Map Picker Configuration

  • Improved customization options in README and MapEntry.
  • Introduced new methods for interactive map features:
    • snappable
    • drawRectangle
    • drawText
  • Enhanced JavaScript handling for map interactions and state management.
  • Updated default settings for better flexibility and control.

🔵 New Features: Circle Drawing & GeoJSON Handling

  • Added support for storing and restoring circle layer data.
  • Enhanced GeoJSON generation to include circle-specific properties.
  • Updated layer creation and editing to preserve circle metadata.
  • Refined coordinate and state update logic for improved interactions.

📌 Refactor: Leaflet Library Update & Code Cleanup

  • Minor refactoring of the Leaflet bundled JavaScript.
  • Updated variable names while maintaining core functionality.
  • Ensured full compatibility with the existing map picker implementation.

🐛 Bug Fixes

  • Fixed inconsistencies in circle metadata preservation during edits.
  • Improved coordinate updates to ensure smoother map interactions.

🛠️ Chore

  • Updated project documentation to reflect new features and best practices.
  • Improved build scripts for seamless integration.

🙌 Special Thanks

A huge shoutout to @thiagolp90 for their invaluable contributions to this release! 💖

v1.7.1

v1.7.1 - Form Restoration & Marker Customization 🚀
This release introduces a powerful new form restoration feature, simplifies state management, and adds extensive marker customization options. These updates ensure a smoother user experience and greater flexibility for developers.


📚 Documentation Updates

The README has been updated to include:

  • Instructions for implementing browser-native form restoration.
  • Best practices for marker customization using the new methods.
  • Updated configuration options for seamless integration.

⚡ Enhancements

Feature: Form Restoration

  • Implemented a browser-native "form restoration" mechanism for maps.
    • Saves the map's lat, lng, and zoom levels in an invisible <input>.
    • Leverages the pageshow event to restore map data when the user navigates back to the page.

New Features: Marker Customization
Added methods for dynamic marker customization:

  • markerHtml
  • markerIconUrl
  • markerIconSize
  • markerIconClassName
  • markerIconAnchor

Refactor: Simplified State Management

  • Updated methods:
    • setMarkerRange
    • setFormRestorationState

🐛 Bug Fixes

  • Issue Fixed: Previously, the map's center position was used instead of the marker's position. This update aligns the behavior with user expectations.

🛠️ Chore

  • Updated project documentation to reflect the new features and best practices for form restoration and marker handling.
  • Enhanced the build script for seamless integration.

🙌 Special Thanks

A huge shoutout to @artumi-richard for their invaluable contributions to this release! 💖

v1.6.0

v1.6.0 - Marker Interaction Enhancements 🎉

This release introduces significant improvements to marker interaction on the map, along with several updates and fixes to enhance overall usability and code clarity.


📚 Documentation Updates

  • The README has been updated to reflect:
    • New features.
    • Updated configuration options.
    • Usage instructions for range and clickable features.

⚡ Enhancements

  • MapEntry Class
    Improved functionality and structure for mapping operations.

  • Alias Updates
    Refined the alias name for Leaflet to improve clarity and compatibility within the codebase.


🐛 Bug Fixes

  • Fix rangeSelectField Null Guard
    Resolved missing null guard in rangeSelectField logic.
    Fixes #47.

🙌 Special Thanks

Big thanks to [@artumi-richard](https://github.com/artumi-richard) for their invaluable contributions to this release! 💖

v1.5.0

Marker Interaction Improvements (from @artumi-richard 🎉)

This release introduces two exciting new optional features:

  1. Clickable Marker Movement:
    Users can now click on the map to reposition the marker effortlessly.
  2. Dynamic Range Visualization:
    A circle can be displayed around the marker, representing a range that works in conjunction with a field in the form.

These features enhance map interactivity and provide new ways to visualize spatial data.


Special Thanks

Big thanks to @artumi-richard for their contribution!

v1.4.0

New Features:

  • Geoman Toolbar Integration:
    We’ve added the Geoman toolbar to enhance the mapping functionality. This provides users with a full suite of tools for seamless map editing and management, improving efficiency and user experience when interacting with maps.

Documentation Updates:

  • README Update:
    The README file has been updated to reflect the new Geoman toolbar features. This includes detailed instructions and usage guidelines to help users get the most out of the new map editing tools.

This release focuses on enhancing the mapping experience while ensuring clear and accessible documentation.

v1.3.0

This release enhances the map's live location functionality by making it more flexible, unrestricted, and configurable. It addresses issue #26 and introduces several improvements to the map's real-time location tracking.

Changes

  • Removed Restriction on Current Location: The restriction that required the map to be draggable to obtain the current location has been removed.
  • Enhanced liveLocation Option: The liveLocation option is now fully configurable, allowing real-time location updates at specified intervals, regardless of the map's draggable state.

Impact

  • Improved User Experience: Users can now receive real-time location updates without needing the map to be draggable.
  • Customization: Developers can configure the interval for obtaining live location updates, offering more control over this feature.

Additional Updates

  • Removed unused comments folder.
  • Added .phpunit.cache/test-results to .gitignore.
  • Updated the README to reflect the new liveLocation options.

Special Thanks

Big thanks to @enriquemdev for their contribution!

v1.2.5

Fixes:

  • Updated JS functionality for improved performance.
  • Removed extra CSS styles for a cleaner codebase.
v1.2.4
  • Documentation:
    • Updated the README document to reflect new features and improvements.
v1.2.3
  • Fixes:
    • Added optional chaining for variables to enhance error handling and code robustness.
  • Features:
    • Introduced a default method to define a default location point for map functionalities.
    • Added MapEntry for displaying map information in infolists.
  • Documentation:
    • Updated the README document to reflect new features and improvements.
v1.2.2
  • Added extra styles option for custom map field style.
v1.1.2
  • Update assets file
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle