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.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para lograr la misma funcionalidad en NodeJS, puedes hacer uso del paquete node-staticmaps. Aquí tienes un ejemplo de código:

    const { StaticMapsImage } = require('node-staticmaps');
    const fs = require('fs');
    
    const width = 600;
    const height = 600;
    const centerLocation = {
      lat: 37.7749, // latitud de la ubicación
      lon: -122.4194 // longitud de la ubicación
    };
    
    const map = new StaticMapsImage(width, height, {
      paddingX: 40,
      paddingY: 40,
    });
    
    // añadir marcador a la ubicación
    map.addMarker(centerLocation.lon, centerLocation.lat);
    
    // establecer el centro del mapa en la ubicación
    map.setCenter(centerLocation.lon, centerLocation.lat);
    
    // establecer el nivel de zoom
    map.setZoom(14);
    
    // renderizar el mapa
    map.render()
      .then(() => {
        // escribir en el archivo
        const buffer = map.image;
        // especificar la ruta y el nombre del archivo para guardar
        fs.writeFile('./map.png', buffer, function (err) {
          if (err) throw err;
          console.log('¡Imagen del mapa guardada exitosamente!');
        });
      })
      .catch((error) => {
        console.log(error);
      });
    

    En el código anterior, importamos la clase StaticMapsImage del paquete node-staticmaps. Luego configuramos el width y height de la imagen, junto con los valores paddingX y paddingY para propósitos estéticos. También especificamos la ubicación central y añadimos un marcador en ella.

    Usando el método render(), generamos la imagen y luego la escribimos en un archivo usando el método fs.writeFile().

    Ten en cuenta que en el método fs.writeFile() necesitas especificar la ruta y el nombre del archivo para guardar la imagen.

Comments are closed.