takashato/nova-map-marker-field

A package for adding a map marker using Mapbox to Laravel Nova

v0.0.2-alpha 2023-04-11 08:50 UTC

This package is auto-updated.

Last update: 2024-04-11 11:33:43 UTC


README

This package allows adding fields with Mapbox, to select a location (by long - latitude).

This package is still under development, it is basicually functioning but not guaranted working perfectly or match multiple use cases

Prerequisite

This field requires attributes using the package MatanYadaev/laravel-eloquent-spatial

  • Nova ^4.x.x
  • Laravel 8+ (due to the dependencies of MatanYadaev/laravel-eloquent-spatial:2.x.x

Installation

  1. Composer package install
composer require takashato/nova-map-marker-field
  1. Put this to your configs/services.php
<?php
return [
  'mapbox' => [
    'public_token' => env('MAPBOX_PUBLIC_TOKEN'),
  ],
];
  1. Put your public access token of Mapbox to the .env file
MAPBOX_PUBLIC_TOKEN=<your_public_token>

The token is obtained from Mapbox Dashboard. Mapbox is free for 50k requests / mo but requires credit card for registration. You should consider for this.

Usage

NovaMapMarkerField::make(__('Field label'), 'attribute_name')
  ->hideFromIndex()
  ->zoom($zoomValue),
  • $zoomValue default zoom value of Mapbox (= 10 if empty)
  • attribute_name the attribute of current resource / model This attribute must implement an Point object by the package MatanYadaev/laravel-eloquent-spatial

Authors

  • me
  • (and may be you xD)

Contribution

Feel free to made PR or put an issue for this package. I will see for them when having free time xD