最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在我的node.js中使用地理位置来获取用户设备的经纬度

网站源码admin21浏览0评论

如何在我的node.js中使用地理位置来获取用户设备的经纬度

如何在我的node.js中使用地理位置来获取用户设备的经纬度

[大家好,请原谅我的提问逻辑,因为我是新来的。我正在使用React和Node构建我的第一个全栈应用程序。我正在考虑三种方法,但不确定哪种方法最有效。

APPROACH ONE

我希望能够在前端填写表单并要求通过地理位置API访问其地理位置的用户获得经纬度。例如,当用户提交其区域和社区名称时,后端将调用getCurrentPosition地理位置API。然后,返回的经/纬度将构成要发送到数据库的数据的一部分,如下面的提取代码所示。但是当我尝试这种方法时,我遇到了两个挑战。首先,显示一条错误消息navigator is not defined。其次,我不知道如何检索返回的经/纬度并将其声明为const以在创建位置时使用它。参见下面的代码:

if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(success, error);
  } else {
    alert("Your browser is out of fashion. There is no geo location!")
  }

  function success(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude 
    console.log(`Your latitude is ${latitude} and your longitude is ${longitude}`)
      return (latitude, longitude);
  }

  function error() {
    alert("Can't detect your location. Try again later.")
  }

我如何在函数外将经/纬度声明为常量。像:

 const communityName = req.bodymunityName;
 const latitude = (success).latitude;
 const longitude = (success).longitude;

方法2

我下载了geolocation npm软件包并按照下面的代码使用它,但收到未定义导航器的错误。如果要使用这种方法,如何定义导航器,如何在函数外部将lat / long声明为const?

const geolocation = require('geolocation');

geolocation.getCurrentPosition(function (err, position) {
    if (err) throw err
    console.log(position)
  })

方法3

我读过这种方法,但是没有一个可行的例子。建议我应该使用地理位置API来获取用户设备经纬度,并将坐标作为req.body数据的一部分发送到后端API。如果这是一个好方法,请问有没有我可以遵循的教程?

[我是Java语言和编码的新手,但是我已经取得了长足的进步,但是这使我有大量的项目资源。没有答案是太错误的租约。毫无意义。

回答如下:

navigator.geolocation

这是浏览器提供的API。它不适用于Node.js。

我下载了地理位置npm软件包

此包装navigator.geolocation。它是为使用Node模块和Webpack提供的编译步骤编写客户端代码而设计的。它不适用于Node.js。

建议我应该使用地理位置API来获取用户设备的经度/纬度,并将坐标作为req.body数据的一部分发送到后端API。

[MDN和Google都提供了fetch API的介绍,用于从客户端JavaScript发出HTTP请求。

React FAQ中也有一些React-specific information。

然后您可以使用req.body读取数据在另一个端点中,前提是您已经配置了合适的正文解析中间件。

发布评论

评论列表(0)

  1. 暂无评论