Download the PHP package lbcdev/filament-maps-fields without Composer

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

Filament Maps Fields

Componentes de Filament para trabajar con mapas interactivos usando Leaflet.js.

Este paquete proporciona campos de formulario y entradas de infolist para seleccionar ubicaciones en mapas interactivos dentro de paneles de administración Filament.

Características

Dual Mode - Soporta dos modos de almacenamiento:

🗺️ Mapas Interactivos - Basado en Leaflet.js con soporte completo para:

🎨 Integración Perfecta con Filament - Funciona como cualquier otro campo de Filament:

Requisitos

Instalación

1. Instalar el paquete via Composer

Este paquete instalará automáticamente sus dependencias:

2. Incluir Leaflet.js en tu panel de Filament

Opción recomendada: Usando RenderHook

Agrega el siguiente código en tu AdminPanelProvider (o el provider de tu panel):

Nota: El hook incluye automáticamente Leaflet.js y Leaflet.draw (requerido para MapBoundsField).

Opción alternativa: Layout personalizado

Si estás usando un layout personalizado de Filament, agrega estos scripts en el <head> (antes de @livewireStyles):

3. (Opcional) Publicar configuración

Si deseas personalizar la configuración del mapa:

Uso Básico

Componentes Disponibles

Este paquete incluye dos componentes principales:

Ambos componentes soportan Dual Mode (JSON y Legacy).

MapField en Formularios

El componente MapField te permite agregar un mapa interactivo a tus formularios de Filament. Los usuarios pueden hacer clic en el mapa para seleccionar una ubicación.

MapField soporta dos modos de operación:

  1. Modo JSON (Recomendado) - Las coordenadas se guardan como JSON en un solo campo
  2. Modo Legacy - Las coordenadas se guardan en campos separados de latitud/longitud

Comparación Rápida

Característica Modo JSON Modo Legacy
Configuración MapField::make('location') MapField::make('map')->latitude('lat')->longitude('lng')
Campos en BD 1 campo JSON 2 campos decimales
Simplicidad ✅ Muy simple ⚠️ Requiere configuración
Uso recomendado Proyectos nuevos Proyectos existentes con campos separados
Migración Fácil desde Legacy -

Modo JSON (Recomendado)

En este modo, el campo guarda las coordenadas como un objeto JSON {latitude: X, longitude: Y} directamente en el campo especificado.

Ventajas del Modo JSON

Más simple - No necesitas configurar campos adicionales ✅ Más limpio - Un solo campo en la base de datos ✅ Más intuitivo - El campo del mapa guarda la ubicación ✅ Menos propenso a errores - No hay que sincronizar múltiples campos

Estructura de Base de Datos

Modelo

Uso en Formulario

Acceder a las Coordenadas


Modo Legacy (Campos Separados)

En este modo, el campo del mapa es "virtual" y actualiza campos separados de latitud y longitud. Este modo existe para mantener compatibilidad con código existente.

Cuándo Usar Modo Legacy

Estructura de Base de Datos

Modelo

Uso en Formulario

Ejemplo con Campos Anidados (Dot Notation)

El modo Legacy también soporta notación de punto para campos anidados:


Migrar de Modo Legacy a Modo JSON

Si tienes una aplicación existente en Modo Legacy y quieres migrar a Modo JSON:

1. Crear migración para añadir campo JSON

2. Migrar datos existentes

3. Actualizar el modelo

4. Actualizar el formulario

5. (Opcional) Eliminar campos antiguos

Una vez verificado que todo funciona:

Configuración del MapField

El MapField acepta varios métodos de configuración:

Métodos Disponibles

latitude(string $field) - Solo Modo Legacy

Define el campo donde se guardará la latitud. Soporta notación de punto para campos anidados.

Nota: Si usas este método, el campo entra en Modo Legacy.

longitude(string $field) - Solo Modo Legacy

Define el campo donde se guardará la longitud. Soporta notación de punto para campos anidados.

Nota: Si usas este método junto con latitude(), el campo entra en Modo Legacy.

height(int $pixels)

Define la altura del mapa en píxeles.

zoom(int $level)

Define el nivel de zoom inicial del mapa (típicamente 1-20).

showPasteButton(bool $show = true)

Muestra u oculta el botón para pegar coordenadas desde el portapapeles.

showLabel(bool $show = true)

Muestra u oculta la etiqueta con las coordenadas actuales.

interactive(bool $interactive = true)

Define si el mapa es interactivo (clickable) o de solo lectura.

readOnly(bool $condition = true)

Alias de interactive(false) para mantener consistencia con la API de Filament.

Ejemplos Avanzados

Formulario Completo de Ubicación

Mapa de Solo Lectura en Vista

MapBoundsField - Seleccionar Área Rectangular

Modo JSON:

Modo Legacy:

Múltiples Ubicaciones en el Mismo Formulario

Configuración Global

Puedes personalizar los valores por defecto en config/livewire-maps.php:

Modo Debug

Para activar el modo debug y ver logs en la consola del navegador:

  1. Agregar ?map_debug=1 a la URL
  2. O configurar APP_DEBUG_MAP=true en tu archivo .env

Esto mostrará información detallada sobre los eventos del mapa y actualizaciones de coordenadas.

Estructura de Base de Datos Recomendada

Migración Básica

Migración con Campos Anidados (JSON)

Con el modelo correspondiente:

Compatibilidad

MapEntry en Infolists

MapEntry muestra un mapa de solo lectura en infolists. Soporta Dual Mode igual que MapField.

Modo JSON:

Modo Legacy:

Próximas Características

Soporte

Si encuentras algún problema o tienes sugerencias:

Licencia

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

Créditos


All versions of filament-maps-fields 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-maps-core Version ^1.0.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-maps-fields contains the following files

Loading the files please wait ...