mauricewijnia/nova-maps-address
A Laravel Nova field that adds a map-based address input to your admin panels, letting users search, select, and store addresses along with coordinates. It brings map autocomplete and geocoding into Nova forms so location data stays accurate and easy to edit.
Architecture fit. mauricewijnia/nova-maps-address is a Laravel Nova form field package that wraps a Google Maps/Places address input (autocomplete plus map-based selection) into a drop-in Nova field. Architecturally it sits in the presentation layer only: it registers a Nova field class, a Vue component, and likely a small config file for API key handling. It does not touch domain models or persistence beyond the columns you bind to the field. This is a good fit for teams already standardised on Nova for back-office administration and who need address capture with geocoordinates; it is a poor fit for public-facing address forms, where a standalone Places integration is preferable.
Integration feasibility. Low-to-moderate. Installation is standard Composer plus Nova field registration, and usage is a single entry in a resource's fields() method. The real effort is not code — it is Google Cloud Platform setup: enabling Maps JavaScript API and Places API, creating a billing-enabled project, and issuing a key that is HTTP-referrer-restricted and API-restricted. Field-level configuration (which address components map to which columns) will need to be validated against your schema.
Technical risk. Moderate, concentrated in three areas:
Note that v2.0.0 was a major bump, so breaking changes versus v1 exist (Nova version support, field class/config surface). Those are not documented in these notes and must be confirmed against the changelog before any v1 migration.
Key questions.
composer.json constraints permit — specifically, is Nova 5 supported?dist/ build artefact now committed and covered by CI, or was v2.0.1 a one-off manual fix?Stack fit. Presupposes a Laravel application with Nova installed, PHP 8.x, and an existing Google Cloud project with billing enabled. It is a natural fit for internal admin tooling where an operator types an address and you need normalised components plus coordinates for mapping or distance logic. It is not a fit for headless/API-only services or for apps that have deliberately avoided Google dependencies.
Migration path.
^2.0.1 (or an exact 2.0.1) so no environment can resolve to the asset-less 2.0.0. If 2.0.0 is already deployed anywhere, that environment is running a broken field and should be treated as a defect, not a routine upgrade.Compatibility. Verify against your Nova major before committing. Because the front-end is a prebuilt Vue bundle, Nova upgrades (which carry their own Vue/Tooling changes) are the most likely source of breakage — schedule a regression pass on the address field with every Nova major.
Sequencing.
^2.0.1, install in staging, publish/verify the config and confirm the compiled assets are present under vendor/.Maintenance. Expect to own the upgrade risk rather than inherit it. The package is a thin wrapper, so if the maintainer goes quiet the fallback is a fork or a ~1–2 day in-house reimplementation of a Places autocomplete Nova field. Keep the dependency pinned and review releases manually; do not enable unattended minor/patch updates for Nova field packages that ship prebuilt assets.
Support. No commercial support, no SLA, GitHub issues only, effectively one maintainer. Escalation path for a production defect is "patch it yourself." That is acceptable for an internal admin convenience field and unacceptable if address entry is on a business-critical workflow with no manual fallback.
Scaling. Costs scale with operator usage, not user traffic — which is usually benign, but a bulk-import or data-cleanup tool that hammers the field could generate unexpected Places charges. Autocomplete sessions are billed; ensure the field uses session tokens if the package exposes that. No server-side caching layer should be assumed. Availability is bounded by Google Maps Platform uptime.
Failure modes.
Ramp-up. Low for a Laravel developer — roughly half a day including the Google Cloud console work. The binding constraint is not Laravel knowledge but familiarity with Maps Platform key restriction, API enablement, and cost monitoring; assign that setup to someone who has done it before, and make the restricted-key configuration a documented, repeatable step rather than tribal knowledge.
How can I help you explore Laravel packages today?