firebase - x-appengine-citylatlong 没有给出正确的 Lat & Lag
问题描述
我在 Firebase 中托管了我的网站。我正在使用 firebase onRequest 函数来跟踪用户 Lat & Lag。
下面是代码,
User Geo Location Coordinates (Lat,Lag): ${req.headers['x-appengine-citylatlong']}
我从我的位置访问了该网站,但 firebase 功能给了我不同的 Lat/Lag。
我从这个网站https://www.gps-coordinates.net/得到正确的 Lat/Lag
目前我在这个网站 https://ipinfo.io/中列出了这个 Lat/Lag
如何获得准确的用户坐标?请帮忙。
注意:我不能使用客户端来获取 Lat/Lag。我必须在服务器端这样做
解决方案
Google App Engine 特定的标头可能不足以满足您的期望。您无法仅使用标题获得确切位置。根据App Engine 特定的标头:
X-Appengine-CityLatLong
发出请求的城市的纬度和经度。对于来自 Mountain View 的请求,此字符串可能类似于“37.386051,-122.083851”。
在没有数据和客户端同意的情况下从服务器获取精确地址是不可能的。那将是一个巨大的隐私问题。我不确定您使用的是网络还是移动设备,但无论平台如何,位置权限都将始终适用。
这个线程也提到了这一点:
该规范明确指出,由于 API(地理定位)的性质也会暴露用户的位置,因此可能会损害他们的隐私,因此在继续之前必须获得用户尝试获取地理位置信息的许可
虽然 Maps SDK 具有包装库,因此您可以在服务器上运行它们,但没有提及 Geolocation API,因此您想要的实际上是不可能的。
推荐阅读
- google-bigquery - 如何删除 [ ] 之间的信息并在其后保留任何文本
- javascript - PayPal:使用 Javascript SDK+REST 处理和测试拒绝卡
- linux - 将 unix 域套接字的所有权从一个进程转移到另一个进程
- c - 将代码从二进制文件复制到新文件中:新文件未执行代码
- python - python内核与vscode的连接
- angular - 如何在 Angular 中制作动态过滤器管道(组合标准)?
- scala - 在不带引号的情况下从正在解析的文件中转义或删除新行
- reactjs - 打字稿:如何按键索引嵌套对象?
- python - 如何使用 seaborn 为分类数据绘制堆积 100% 条形图
- javascript - JS 类属性使用构造函数/设置 get 方法返回未定义