Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

204
Vistas
¿Es posible encontrar la ubicación geográfica del dispositivo según la dirección IP usando NodeJS?

Estoy tratando de implementar una función como la que ofrece Instagram; Estoy hablando de su página de "actividad de inicio de sesión". Esto es de lo que hablo: ingrese la descripción de la imagen aquí

Cada vez que el usuario inicia sesión, el dispositivo en uso se almacena actualmente en la página. ¿Cómo haría eso?

El código actual que tengo usa dos bibliotecas, una para encontrar ip.address() del dispositivo que se está usando y una segunda que se supone que me ayudará a obtener los datos de ubicación relacionados con la dirección IP dada. Lamentablemente, no puedo hacer que funcione. Así es como se ve el código:

 const ipLocation = require('ip-to-location') const ip = require('ip') const loc = await ipLocation.fetch(ip.address()) console.dir('Location', loc) await User.findOneAndUpdate( { email: req.body.email }, { $push: { loginActivity: { type: 'Point', coordinates: [loc.longitude, loc.latitude], // formattedAddress: loc[0].formattedAddress, // street: loc[0].streetName, city: loc.city.city, state: loc.region_name, zipcode: loc.zip_code, country: loc.country_code, }, }, } )

¿Hay alguna biblioteca alternativa para usar? o alguien me puede señalar en la dirección correcta para hacer esto posible?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Bueno, si puede obtener la dirección IP de un usuario, puede probar ipgeolocation.io

Esta es una API gratuita que puede brindarle el valor de latitud y longitud de una dirección IP (y mucho más si lo necesita).

Más en documentación

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede probar IP2Location Node.js.

https://github.com/ip2ubicación/ip2ubicación-nodejs

Puede llamar a un archivo de base de datos ( gratis o de pago ) o llamar a un servicio web .

Para la base de datos, el código se verá similar al siguiente:

 const {IP2Location} = require("ip2location-nodejs"); let ip2location = new IP2Location(); ip2location.open("./DB25.BIN"); testip = ['8.8.8.8', '2404:6800:4001:c01::67']; for (var x = 0; x < testip.length; x++) { result = ip2location.getAll(testip[x]); for (var key in result) { console.log(key + ": " + result[key]); } console.log("--------------------------------------------------------------"); } ip2location.close();

Para el servicio web, puede usar el siguiente ejemplo:

 const {IP2LocationWebService} = require("ip2location-nodejs"); let ws = new IP2LocationWebService(); let ip = "8.8.8.8"; let apiKey = "YOUR_API_KEY"; let apiPackage = "WS25"; let useSSL = true; // addon and lang to get more data and translation (leave both blank if you don't need them) let addon = "continent,country,region,city,geotargeting,country_groupings,time_zone_info"; let lang = "fr"; ws.open(apiKey, apiPackage, useSSL); ws.lookup(ip, addon, lang, (err, data) => { if (!err) { console.log(data); ws.getCredit((err, data) => { if (!err) { console.log(data); } }); } });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda