specialist/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

0.1.0 2019-11-21 16:10 UTC

This package is auto-updated.

Last update: 2024-11-12 15:07:18 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 specialist/nova-map-address "dev-master"

## Configuration
Publish the package config file:
```bash
php artisan vendor:publish --provider="Specialist\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 Specialist\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),
]

Package screenshot

Support:

License

The MIT License (MIT). Please see License File for more information.