MapConductor React SDK Samples

Polígono | MapLibre | MapConductor React SDK

Ejemplo de Polígono de MapConductor React SDK con MapLibre.

Este ejemplo interactivo muestra Polígono mediante la abstracción de MapConductor sobre MapLibre.

Ejemplo de código

import { useMemo, useState } from 'react';
import {
  createGeoPoint,
  createMapCameraPosition,
  createMarkerState,
  createPolygonState,
  type GeoPoint,
} from '@mapconductor/js-sdk-core';
import { Markers, Polygon } from '@mapconductor/js-sdk-react';
import { MapLibreDesign, MapLibreMapView2D, useMapLibreViewState } from '@mapconductor/react-for-maplibre';


// (1) Crear el mapa


const initialCamera = createMapCameraPosition({
  position: createGeoPoint({ latitude: 35.6812, longitude: 139.7671 }),
  zoom: 12,
});


const mapViewState = useMapLibreViewState({
  mapDesignType: MapLibreDesign.OsmBrightJa,
  cameraPosition: initialCamera,
});


// (2) Preparar los datos y el estado de interacción
const [vertices, setVertices] = useState<GeoPoint[]>(initialVertices);
const polygonState = useMemo(() => createPolygonState({
  id: 'area',
  points: vertices,
  fillColor: 'rgba(37, 99, 235, 0.3)',
  strokeColor: '#2563eb',
}), [vertices]);
const vertexMarkers = vertices.map((position, index) => createMarkerState({
  id: `vertex-${index}`, position, draggable: true,
}));


// (3) Renderizar el mapa y sus capas


<MapLibreMapView2D state={mapViewState}>
  <Polygon state={polygonState} />
  <Markers states={vertexMarkers} />
</MapLibreMapView2D>

Cómo funciona el código

Dibuja un polígono relleno y usa marcadores para que cada vértice sea visible e interactivo.

El arreglo vertices es estado de React, y useMemo reconstruye el PolygonState —un relleno azul translúcido con un trazo sólido— cada vez que un vértice se mueve.

Cada vértice se dibuja como un marcador arrastrable, de modo que el contorno del polígono se puede editar punto por punto.