gabrielesbaiz/nova-field-map

Custom Laravel Nova 4 map detail field

1.0.0 2025-03-02 21:48 UTC

This package is auto-updated.

Last update: 2025-03-02 21:51:05 UTC


README

Latest Version on Packagist Total Downloads

Custom Laravel Nova 4 map detail field.

Original code from iMuMz/NovaFieldMap

Features

  • ✅ Support Leaflet
  • ✅ Support Google Maps
  • ✅ Marker clustering
  • ✅ Map height
  • ✅ Latitude and longitude coordinates
  • ✅ GeoJSON
  • ✅ Marker popup
  • ✅ Custom marker icons

Installation

You can install the package via composer:

composer require gabrielesbaiz/nova-field-map

Usage

use Gabrielesbaiz\NovaFieldMap;


NovaFieldMap::make()

Available Methods

Height

NovaFieldMap::make()
->height('400px') // default is 300px

Google Maps

By default the provider is OpenStreetMaps.
You must set your Google Maps API key (https://developers.google.com/maps/documentation/javascript/get-api-key).

NovaFieldMap::make()
->googleApiKey('')
->googleMapType('roadmap'), // roadmap, satellite or hybrid

Latitude / Longitude (Point)

NovaFieldMap::make('')
->type('LatLon')
->point($this->my_latitude,$this->my_longitude)

GeoJSON

NovaFieldMap::make()
->type('GeoJson')
->geoJson('')

GeoJson Example

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "popup": "I am a Popup"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          23.8623046875,
          -30.221101852485987
        ]
      }
    }
  ]
}

Popup

NovaFieldMap::make()
->popup('popup')

Custom Marker Icon

NovaFieldMap::make()
->markerIcon('/images/marker-icon.png')

You can pass additional parameters to set the icon size and anchor

->markerIcon('/images/marker-icon.png',[100,100],[50,50])

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

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