Download the PHP package mostafaznv/nova-map-field without Composer

On this page you can find all versions of the php package mostafaznv/nova-map-field. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package nova-map-field

Map Field for Laravel Nova

License Packagist Downloads Latest Version on Packagist

Using this package, you can use spatial fields in Laravel Nova.

https://github.com/mostafaznv/nova-map-field/assets/7619687/08ca878b-1bfc-4a11-b30b-44350b57cf69


I am on an open-source journey 🚀, and I wish I could solely focus on my development path without worrying about my financial situation. However, as life is not perfect, I have to consider other factors.

Therefore, if you decide to use my packages, please kindly consider making a donation. Any amount, no matter how small, goes a long way and is greatly appreciated. 🍺

Donate


Requirements:

Laravel Compatibility

Laravel PHP Nova Map Field
^8.0 - ^9.0 ^8.0.2 ^3.0
^10.0 - ^11.0 ^8.1 ^4.0 (latest)

Installation

  1. Install the package via composer:
  2. Publish config and assets:
  3. Done

Usage

  1. Create table with spatial fields
  2. Add HasSpatial trait to model
  3. Define spatial columns of model
  4. Add map fields to resource
  5. Done

Map Field Methods

method Arguments description
templateUrl url
string
Specifies template of map
projection projection
string
Specifies projection of map
srid srid
integer default: 0
Specifies SRID of map
defaultLatitude latitude
float
Specifies latitude of map on page load
defaultLongitude longitude
float
Specifies longitude of map on page load
zoom zoom
integer
Specifies default map zoom
withoutZoomControl status
bool default: true
Specifies whether zoom in/out button should display on map or not
withoutZoomSlider status
bool default: true
Specifies whether zoom slider should display on map or not
withFullScreenControl status
bool default: true
Specifies whether full screen button should display on map or not
mapHeight height
integer default: 400
Map's height
hideDetailButton status
bool default: true
Specifies whether Show Details button should appear on detail pages or not
markerIcon icon
integer available: 1, 2, 3
Marker icon
withSearchBox boolean Specifies whether map has search box or not
searchProvider provider MapSearchProvider
searchProviderApiKey apiKey string Specifies api key for search provider, if needed
withAutocompleteSearch status bool default: true Specifies whether search results should load immediately or not
searchAutocompleteMinLength minLength int Specifies the minimum number of characters to trigger search action
searchAutocompleteTimeout timeout int Specifies the minimum number of ms to wait before triggering search action
searchLanguage language string Specifies preferable language
searchPlaceholder placeholder string
searchBoxType type MapSearchBoxType Using this item, you can specify type of search box (button, or text-field
searchResultLimit limit int Specifies limit of results
searchResultKeepOpen status boolean Specifies whether the results keep opened
withTransformation status boolean Specifies whether transport feature should be enable on polygons
transformScale status boolean Using this method, you can enable/disable scaling features
transformRotate status boolean Using this method, you can enable/disable rotating features
transformStretch status boolean Using this method, you can enable/disable stretch option
requiredOnCreate status
bool default: true
Makes field required on creation
requiredOnUpdate status
bool default: true
Makes field required on update
default $callback
PointValue
Set default value for map field.
Note: Only works in MapPointField
capture capture
Capture experimental
By employing this method, you can capture a screenshot reflecting the current state of the map field and save it to the filesystem

Config Properties

Method Type Default Description
template-url string https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png Default Template URL. Must include {x}, {y} or {-y}, and {z} placeholders.
projection string EPSG:3857 Default projection of map
srid int 0 Default SRID of map
default-latitude bool 0 Default latitude of map
default-longitude bool 0 Default longitude of map
zoom int 12 Default zoom of map
controls.zoom-control bool true Specifies if map should display zoom controls (zoom in/out buttons) or not
controls.zoom-slider bool true Specifies if map should display zoom slider or not
controls.full-screen-control bool false Specifies if map should display full screen button or not
controls.undo-control bool true Specifies if map should display undo control or not (Only for Polygon and MultiPolygon)
controls.clear-map-control bool true Specifies if map should display clear map control or not (Only for Polygon and MultiPolygon)
map-height int 400 Specifies map height
icon int 1 Specifies marker icon. available values: 1, 2, 3
style.stroke-color string red Using this property, you can specify stroke color of polygons or other shapes. Either in hexadecimal or as RGBA array
style.stroke-width int 2 Width of the stroke (px)
style.fill-color string rgba(255, 0, 0, 0.4) Using this property, you can specify filling color of polygons or other shapes. Either in hexadecimal or as RGBA array.
show-detail-button bool true Specifies whether Show Details button should appear on detail pages or not
search.enable bool true Using this item, you can toggle displaying search box on maps
search.provider MapSearchProvider OSM Specifies search provider available providers: OSM, MAPQUEST, PHOTON, PELIAS, BING, OPENCAGE
search.api-key string '' Specifies API key if required
search.autocomplete bool false Using this item, you can toggle autocomplete feature for search box
search.autocomplete-min-length int 2 The minimum number of characters to trigger search
search.autocomplete-timeout int 200 The minimum number of ms to wait before triggering search action
search.language string en-US Specifies preferable language
search.placeholder string Search for an address Specifies placeholder for text input
search.box-type MapSearchBoxType TEXT_FIELD Specifies type of search box. available types: BUTTON, TEXT_FIELD
search.limit int 5 Specifies limit of results
search.keep-open bool false Specifies whether the results keep opened
transform.enable bool true Using this item, you can toggle transforming polygons maps
transform.scale bool true Using this property, you can toggle scaling features
transform.scale bool true Using this property, you can toggle rotating features
transform.stretch bool true Using this property, you can enable/disable stretch option

Capture Screenshot

Utilizing this method enables the capture of a screenshot that mirrors the current state of the map field, subsequently saving it to the filesystem. It is important to note that this feature is experimental and its performance may vary. The underlying mechanism operates by generating an image on the client's machine each time the client/admin modifies the map field state. Subsequently, this image is transmitted to the server, where it is then stored in the filesystem.

To enable this feature, you must first add the capture method to your map field. This method accepts a single argument, which is an instance of the Capture class.

[!NOTE]
Activating this feature is as straightforward as calling the static make function of Capture. Nevertheless, for those seeking to tailor the behavior of this functionality, alternative methods are available for customization.

Using Spatial Columns over Application

This package uses Laravel Eloquent Spatial under the hood. to use columns and querying them over the application, please read Laravel Eloquent Spatial documentation

Tricks

Transform Polygons

To transform polygons, You should press Alt (Option ) button and drag that polygon everywhere you want.

Select Polygons

To select polygons (and modify them), You can press Alt (Option ) button and then click on the polygon. By pressing the Alt (Option ) key, drawing mode will be disabled, and you can select every polygon you want.


Complete Example


Deployment

The map field uses a web worker that loads data from blob values, and if you have a strict Content-Security-Policy header (e.g. with default 'none'), you will need to give permission to load data via this method by adding a worker-src directive to your CSP:

worker-src 'self' blob:;

Migration

From 3. to 4.


I am on an open-source journey 🚀, and I wish I could solely focus on my development path without worrying about my financial situation. However, as life is not perfect, I have to consider other factors.

Therefore, if you decide to use my packages, please kindly consider making a donation. Any amount, no matter how small, goes a long way and is greatly appreciated. 🍺

Donate


License

This software is released under The MIT License (MIT).


Sponsors

JetBrains Logo (Main) logo


All versions of nova-map-field with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
illuminate/support Version ^10.0|^11.0
laravel/nova Version ^4.0|^5.0
matanyadaev/laravel-eloquent-spatial Version ^4.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mostafaznv/nova-map-field contains the following files

Loading the files please wait ....