input
google
Maps

InputGoogleMaps

El componente InputGoogleMaps permite mostrar un mapa de Google Maps con marcadores, opciones de centrado, ajustes de límites y renderización de rutas entre puntos.

Ejemplo

Importación

Para importar el componente InputGoogleMaps, se puede hacer desde fenextjs

import { InputGoogleMaps } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
mapContainerStyleobjectno{ width: '100%', height: '100dvh' }Estilo CSS para el contenedor del mapa.
markersMarkerProps[]noundefinedLista de marcadores que se mostrarán en el mapa.
useLoadCenterWithMarkerbooleannotrueDetermina si el mapa debe centrarse automáticamente basándose en los marcadores proporcionados.
useLoadFitBoundsWithMarkerbooleannotrueDetermina si el mapa debe ajustar los límites para mostrar todos los marcadores.
useLoadDirectionsWithMarkerbooleannofalseDetermina si se debe renderizar una ruta (direcciones) entre los marcadores.
showDirectionsWaypointsbooleannofalseMuestra los puntos intermedios (waypoints) en la ruta cuando se renderiza la dirección.
center{ lat: number; lng: number; }no{ lat: 0, lng: 0 }Coordenadas para centrar el mapa inicialmente.
onBoundsChanged(bounds: google.maps.LatLngBounds | undefined) => voidnoundefinedFunción que se ejecuta cuando los límites del mapa cambian.

Storybook

Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)

Usos

  • Mapa básico con marcadores
<InputGoogleMaps
  markers={[
    { position: { lat: 40.7128, lng: -74.006 } }, // Nueva York
    { position: { lat: 34.0522, lng: -118.2437 } }, // Los Ángeles
  ]}
/>
  • Mapa centrado en un punto específico
<InputGoogleMaps
  center={{ lat: 51.5074, lng: -0.1278 }} // Londres
  useLoadCenterWithMarker={false}
/>
  • Mapa con ajuste de límites automático
<InputGoogleMaps
  markers={[
    { position: { lat: -33.8688, lng: 151.2093 } }, // Sídney
    { position: { lat: -37.8136, lng: 144.9631 } }, // Melbourne
  ]}
  useLoadFitBoundsWithMarker={true}
/>
  • Mapa con ruta entre marcadores
<InputGoogleMaps
  markers={[
    { position: { lat: 40.7128, lng: -74.006 } }, // Nueva York
    { position: { lat: 41.8781, lng: -87.6298 } }, // Chicago
    { position: { lat: 34.0522, lng: -118.2437 } }, // Los Ángeles
  ]}
  useLoadDirectionsWithMarker={true}
  showDirectionsWaypoints={true}
/>
  • Mapa con estilos personalizados
<InputGoogleMaps
  markers={[{ position: { lat: 48.8566, lng: 2.3522 } }]} // París
  mapContainerStyle={{ width: "600px", height: "400px" }}
/>