经纬度"/>
如何在我的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
读取数据在另一个端点中,前提是您已经配置了合适的正文解析中间件。
更多推荐
如何在我的node.js中使用地理位置来获取用户设备的经纬度
发布评论