Weave 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 Google Map Location Picker

Filament Google Map Location Picker Laravel Package

yemenpoint/filament-google-map-location-picker

A Filament form field for picking locations on Google Maps. Search or drag a marker to capture latitude and longitude, with optional address details saved to your model. Quick setup for Laravel Filament apps and location-based forms.

View on GitHub
Deep Wiki
Context7

Filament Google Map Location Picker is a Filament form component that lets users pick precise geographic coordinates directly from an interactive Google Map, with results stored as latitude and longitude fields. It integrates cleanly into any Filament form schema, making it ideal for address, delivery, or store-location inputs.

The field supports map search, click-to-place markers, and configurable defaults, so you can tailor the picking experience to your app without custom JavaScript.

  • Draggable marker with live coordinate syncing to form state
  • Search & autocomplete to jump to an address or place
  • Configurable default center, zoom level, and map height
  • Filament-native field that works in panels and resources

Requires a Google Maps API key.

Frequently asked questions about Filament Google Map Location Picker
Is yemenpoint/filament-google-map-location-picker compatible with Filament v3 or v4?
The last release was November 2022, which predates Filament v3, so v3 and v4 support should be treated as unproven. Filament v3 changed custom field APIs including asset registration, component and view resolution and form state handling, so expect to need a fork or port. Verify compatibility in a short spike before committing, and make your Filament major version the first adoption gate.
How do I install the Filament Google Map Location Picker package?
Install it with Composer on a Laravel 9 or 10 project running Filament v2 and Livewire v2. You then register the field class in your Filament form schema and provide a Google Maps JavaScript API key through the package configuration. Because the package is unmaintained, pin the version and check how the service provider registers assets against your Filament version.
How do I secure my Google Maps API key for the location picker?
Any Maps JavaScript API key used by this field ships to the browser, so it must be restricted by HTTP referrer and limited to the Maps JavaScript API with per-key quotas. On a public or unauthenticated form an unrestricted key is a direct billing abuse vector. Confirm who owns the GCP project, who receives budget alerts, and re-verify Google's per-SKU free tier pricing rather than assuming the old cost model.
Why is my latitude and longitude saving as null?
The marker position lives in Alpine state and must be entangled into Livewire form state; if any update path is missed the coordinate writes as null and still saves cleanly, which is a silent data loss failure. Add explicit latitude and longitude validation rules so an empty pick fails loudly instead of persisting. Test the drag, click-to-pick and search flows individually on the Filament version you deploy.
Is filament-google-map-location-picker still maintained?
No. It is a single-maintainer package with zero dependents, roughly three years without a release and no community around it, so treat it as an unmaintained reference implementation rather than a supported dependency. If you adopt it, wrap it in one adapter field under app/Filament/Fields so swapping the implementation later is a one-file change.
What are the best alternatives to this Filament Google Maps field?
Evaluate maintained pickers such as dotswan/filament-map-picker and cheesegrits/filament-google-maps on Filament v3 and v4 support, release cadence and issue responsiveness. If Google Maps is not a hard requirement, a Leaflet or OpenStreetMap based picker avoids API key billing and reduces privacy exposure. Stars alone are not evidence of maintenance, so check recent commits and how open issues are handled.
How do I set the default center and zoom level of the map?
The map is a Blade view plus an Alpine component, so the default center, zoom and initial marker position are passed through the field and the Google Maps options object. Because the package is not documented for v3 or v4, read the view source to confirm exactly which options are exposed. Keep the default center in config rather than hard-coding it so multiple forms can reuse the same field.
Does this package work with Livewire v3 and the TALL stack?
It was built for Livewire v2 and Filament v2, and Filament v3 ships Alpine v3, so Alpine version assumptions need checking before use. The overall approach of a Blade view, an Alpine component and asset registration from a service provider fits the TALL stack fine; it is the specific integration points that need porting. Budget one to three senior-dev days to port asset registration and view resolution if you fork it.
How should I store the picked latitude and longitude in the database?
Two numeric columns, for example decimal(10,7) for latitude and decimal(10,7) for longitude, are the simplest correct choice for a form field like this. Use JSON only if you also need to keep the raw map payload, and consider a PostGIS geography column if you expect radius or nearest-point queries later. Whichever you choose, validate ranges server side because a null coordinate will otherwise save without error.
Can I use this location picker on a public, unauthenticated form?
It is fine for internal admin panels, but a public surface needs review first. Map tile loads transmit the end user's IP to Google, and an address or geolocation is personal data under GDPR, so you need a lawful basis and a privacy notice before exposing it. Combined with the browser-exposed API key, that makes a public deployment both a privacy and a billing risk.
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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager