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.

¿Por qué la fuente de react-map-gl no está utilizando un objeto?

Estoy intentando agregar geoJSON a un mapa react-map-gl usando typescript.

Aquí está mi código:

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

La variable data es un archivo JSON analizado, por lo que es un objeto y no una cadena.

El error que obtengo es:

La sobrecarga 1 de 2, '(props: SourceProps | Readonly<sourceprops>): Source', dio el siguiente error.
    El tipo 'object' no se puede asignar al tipo 'string | Feature<geometry, geojsonproperties=""> | FeatureCollection<geometry, geojsonproperties=""> | undefined'.
      El tipo '{}' no tiene las siguientes propiedades requeridas por el tipo 'FeatureCollection<geometry, geojsonproperties="">': type, features
  La sobrecarga 2 de 2, '(props: SourceProps, context: any): Source', dio el siguiente error.
    El tipo 'object' no se puede asignar al tipo 'string | Feature<geometry, geojsonproperties=""> | FeatureCollection<geometry, geojsonproperties=""> | undefined'.  TS2769

Y el tipo de la propiedad data en el componente Source debería ser un objeto, como se puede ver en la documentación aquí.

Si necesitas más información, por favor pregúntame.</geometry,></geometry,></geometry,></geometry,></geometry,>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás tratando de agregar geoJSON a un mapa react-map-gl usando typescript, pero te encuentras con un error que indica que el tipo de objeto no puede asignarse al tipo de datos en las props de componente Source. El mensaje de error sugiere que los datos deben ser de tipo string, Feature<geometry, geojsonproperties=””>, FeatureCollection<geometry, geojsonproperties=””> o undefined.

    Una cosa que debes verificar es si el archivo JSON analizado se convierte correctamente a uno de estos tipos de datos aceptables. También podría valer la pena verificar si los datos están correctamente formateados como GeoJSON. Además, puedes intentar convertir explícitamente el objeto de datos al tipo adecuado o convertirlo a una cadena JSON antes de pasarlo como props al componente Source.

    Si estas soluciones no funcionan, por favor proporciona más información sobre el objeto de datos y el resto del código para que podamos entender mejor el problema.</geometry,></geometry,>

Comments are closed.