josrom / nova-map-address
A Laravel Nova field to place a marker on map to get coordinates then it reverse geocoding the coordinates to get a street address
Installs: 4 270
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 21
Open Issues: 3
Language:Vue
Requires
- php: >=7.1.0
- illuminate/support: ^5.7|^6.0
This package is auto-updated.
Last update: 2024-10-22 03:25:30 UTC
README
A Nova field to place a marker on map to get coordinates then it reverse geocoding the coordinates to get a street address
Installation
You can install the package in to a Laravel app that uses Nova via composer:
composer require josrom/nova-map-address
Configuration
Publish the package config file:
php artisan vendor:publish --provider="Josrom\MapAddress\FieldServiceProvider"
This is the contents of the file which will be published at config/map-address.php.
Add the following keys to your .env
and .env.example
:
MAP_ADDRESS_API_KEY=
Optional: Set map and address language
MAP_ADDRESS_LANGUAGE=es
If you need a Google Maps API key, you can create an app and enable Places API and create credentials to get your API key https://console.developers.google.com.
Usage:
Add the below to Nova/{Model}.php resource:
use Josrom\MapAddress\MapAddress; [ MapAddress::make('address'), // You can set the initial map location. By default (Spain) MapAddress::make('address') ->initLocation(38.261842, -0.6868031), // You can set the location from the model MapAddress::make('address') ->setLocation($this->latitude, $this->longitude), // You can select the name of lat/lng fields. By default is lat/lng MapAddress::make('address') ->setLatitudeField('latitude') ->setLongitudeField('longitude'), // You can select what is the first result set in address field MapAddress::make('address') ->setGoogleResultType('street_address'), // You can also set the map zoom level. By default (4) MapAddress::make('address') ->initLocation(38.261842, -0.6868031) ->zoom(12), ]
Support:
- Jose Vicente Orts: vince@square1.io
License
The MIT License (MIT). Please see License File for more information.