Download the PHP package lbcdev/filament-map-field without Composer

On this page you can find all versions of the php package lbcdev/filament-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 filament-map-field

Filament Map Field

Filament v3 Filament v4 PHP Version Laravel

Un paquete de Filament que proporciona componentes de campo de mapa para formularios e infolists, utilizando el componente Livewire lbcdev-map.

✨ Compatible con Filament v3 y v4 - Actualiza sin preocupaciones, sin cambios en tu código.

✨ Características

📋 Requisitos

Nota: Este paquete es compatible con Filament v3 y v4. No necesitas hacer cambios en tu código al actualizar de Filament v3 a v4.

📦 Instalación

1. Instalar el paquete via Composer

2. Incluir Leaflet.js en tu layout

El paquete depende de lbcdev/livewire-map-component, que requiere Leaflet.js. Agrega estos scripts en el <head> de tu layout principal:

Nota: Leaflet Draw solo es necesario si vas a usar MapBoundsField para seleccionar áreas rectangulares. Si solo usas MapField para puntos, no es necesario incluirlo.

Con Filament v4 puedes usar un hook para incluir los tags de Leaflet. Agrega el siguiente código a tu archivo app/Providers/Filament/AdminPanelProvider.php:

3. (Opcional) Publicar las vistas

Si deseas personalizar las vistas del componente:

Las vistas se publicarán en resources/views/vendor/filament-map-field/.

🚀 Uso

MapField en Formularios

El componente MapField permite a los usuarios seleccionar coordenadas de forma interactiva en un formulario.

Uso básico

Con todas las opciones

Modo de solo lectura

Ejemplo completo en un Resource

⚠️ Importante: Uso con Notación de Punto (JSON)

Cuando uses notación de punto para campos JSON anidados, el primer parámetro de make() debe coincidir con el campo padre:

Modelo con campo JSON:

Migración:

MapEntry en Infolists

El componente MapEntry muestra las coordenadas en un mapa de solo lectura en infolists.

Uso básico de MapEntry

Con opciones

Ejemplo completo de un Resource

MapBoundsField en Formularios

El componente MapBoundsField permite a los usuarios seleccionar áreas rectangulares de forma interactiva en un formulario.

Uso básico

Con todas las opciones

Con campos JSON anidados

Nota: Al igual que con MapField, cuando uses notación de punto, el primer parámetro de make() debe coincidir con el campo padre JSON. Ver la sección "⚠️ Importante: Uso con Notación de Punto" arriba para más detalles.

MapBoundsEntry en Infolists

El componente MapBoundsEntry muestra áreas rectangulares en un mapa de solo lectura en infolists.

Uso básico

Con opciones

🎨 Métodos Disponibles

MapField (Forms)

Método Descripción Default
latitude(string $field) Campo donde se guardará la latitud. Soporta notación de punto para JSON: 'ubicacion.latitud' null
longitude(string $field) Campo donde se guardará la longitud. Soporta notación de punto para JSON: 'ubicacion.longitud' null
height(int $height) Altura del mapa en píxeles 400
zoom(int $zoom) Nivel de zoom inicial (1-20) 15
showPasteButton(bool $show = true) Mostrar botón para pegar coordenadas false
showLabel(bool $show = true) Mostrar etiqueta con coordenadas true
interactive(bool $interactive = true) Permitir interacción con el mapa true
readOnly(bool $condition = true) Hacer el mapa de solo lectura (alias de interactive(false)) false

MapEntry (Infolists)

Método Descripción Default
latitude(string $field) Campo de donde leer la latitud. Soporta notación de punto para JSON: 'ubicacion.latitud' null
longitude(string $field) Campo de donde leer la longitud. Soporta notación de punto para JSON: 'ubicacion.longitud' null
height(int $height) Altura del mapa en píxeles 300
zoom(int $zoom) Nivel de zoom inicial (1-20) 15
showLabel(bool $show = true) Mostrar etiqueta con coordenadas true

MapBoundsField (Forms)

Método Descripción Default
southWestLat(string $field) Campo para latitud suroeste. Soporta notación de punto: 'bounds.sw_lat' null
southWestLng(string $field) Campo para longitud suroeste. Soporta notación de punto: 'bounds.sw_lng' null
northEastLat(string $field) Campo para latitud noreste. Soporta notación de punto: 'bounds.ne_lat' null
northEastLng(string $field) Campo para longitud noreste. Soporta notación de punto: 'bounds.ne_lng' null
height(int $height) Altura del mapa en píxeles 400
zoom(int $zoom) Nivel de zoom inicial (1-20) 13
showLabel(bool $show = true) Mostrar etiqueta con coordenadas de los límites true
defaultCenter(float $lat, float $lng) Centro por defecto del mapa [36.9990019, -6.5478919]

MapBoundsEntry (Infolists)

Método Descripción Default
southWestLat(string $field) Campo de donde leer latitud suroeste. Soporta notación de punto: 'bounds.sw_lat' null
southWestLng(string $field) Campo de donde leer longitud suroeste. Soporta notación de punto: 'bounds.sw_lng' null
northEastLat(string $field) Campo de donde leer latitud noreste. Soporta notación de punto: 'bounds.ne_lat' null
northEastLng(string $field) Campo de donde leer longitud noreste. Soporta notación de punto: 'bounds.ne_lng' null
height(int $height) Altura del mapa en píxeles 300
zoom(int $zoom) Nivel de zoom inicial (1-20) 13
showLabel(bool $show = true) Mostrar etiqueta con coordenadas de los límites true

💡 Ejemplos Avanzados

Formulario con validación

Los componentes MapField y MapBoundsField soportan el método ->required() de forma nativa. Cuando se marca un campo como requerido, automáticamente valida que todos los campos anidados (latitud, longitud, límites) tengan valores.

Nota: El método ->required() funciona tanto en modo Create como Edit. La validación se aplica automáticamente a los campos anidados configurados con notación de punto.

Múltiples mapas en un formulario

Campos JSON anidados (v1.1.0+)

El paquete soporta guardar coordenadas en campos JSON anidados usando notación de punto. Esto es útil cuando quieres almacenar las coordenadas en una estructura JSON en lugar de campos separados.

Modo 1: Campos separados (tradicional)

Modo 2: Campo JSON anidado (nuevo)

Ventajas del modo JSON

Ejemplo completo con JSON

🔧 Personalización

Publicar y personalizar vistas

Las vistas estarán disponibles en:

🔄 Compatibilidad con Filament v3 y v4

Este paquete es totalmente compatible con Filament v3 y v4 sin necesidad de cambios en tu código.

¿Qué significa esto?

Requisitos según la versión de Filament

Para Filament v3

Para Filament v4

Actualización de Filament v3 a v4

Si estás actualizando tu proyecto de Filament v3 a v4:

  1. Actualiza Filament siguiendo la guía oficial de actualización
  2. Actualiza las dependencias:

  3. ¡Listo! El paquete filament-map-field seguirá funcionando sin cambios

No necesitas:

Nota sobre Tailwind CSS

Si usas un tema personalizado en Filament, necesitarás actualizar Tailwind CSS de v3 a v4 al migrar a Filament v4. Esto es un requisito de Filament, no de este paquete específicamente.

Consulta la guía de actualización de Tailwind CSS v4 para más detalles.

🔄 Actualización del Paquete

Actualizar a una versión específica

Para actualizar el paquete a una versión específica usando tags de GitHub:

Usar una versión específica en composer.json

Puedes especificar la versión exacta en tu composer.json:

O usar un tag específico:

Verificar la versión instalada

Limpiar caché después de actualizar

Después de actualizar, es recomendable limpiar las cachés:

🐛 Solución de Problemas

Si encuentras problemas al usar el paquete, consulta la Guía de Solución de Problemas que incluye:

🤝 Créditos

Este paquete utiliza:

📄 Licencia

Este paquete es software de código abierto licenciado bajo la Licencia MIT.

🐛 Soporte

Si encuentras algún problema o tienes sugerencias:

👨‍💻 Autor

Desarrollado por Luinux81


All versions of filament-map-field with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1|^8.2|^8.3
filament/filament Version ^3.0|^4.0
illuminate/contracts Version ^10.0|^11.0|^12.0
lbcdev/livewire-map-component Version ^1.0
spatie/laravel-package-tools Version ^1.16
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 lbcdev/filament-map-field contains the following files

Loading the files please wait ...