es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo agregar un marcador personalizado a un mapa utilizando react-map-gl?

Quiero agregar un marcador personalizado a mi mapa. Estoy utilizando la biblioteca react-map-gl y los componentes Layer y Source. Mi código es:

import pin from "../images/pin.svg";
. . . .
const geojson: GeoJSON.Feature<geojson.geometry> = {
    type: 'Feature',
    geometry: {
        type: 'Point' as 'Point',
        coordinates: [21.300465619950796, 48.70795452044564],
    },
    properties: {
        name: "Marker",
    }
};
const layerStyle = {
    id: 'point',
    type: 'symbol' as 'symbol',
    source: 'Marker',
    layout: {
        'icon-image': 'pin',
        'icon-size': 1
    },
    paint: {
        'icon-color': '#78546'
    },
};
. . . .

<source id="my-data" type="geojson" data="{geojson}">
    <layer {...layerstyle}=""></layer>

Pero mi icono no aparece. ¿Me puedes ayudar, por favor?</geojson.geometry>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás importando correctamente la imagen del pin, pero no la estás utilizando en tu layerStyle para la propiedad ‘icon-image’. En su lugar, estás usando la cadena ‘pin’. Intenta cambiar 'icon-image': 'pin' por 'icon-image': 'url(' + pin + ')' en tu layerStyle. Esto debería cargar la imagen del pin como icono y mostrarlo en tu mapa.

Comments are closed.