如何使用Angular从用户那里检索地理位置[重复]

Posted

技术标签:

【中文标题】如何使用Angular从用户那里检索地理位置[重复]【英文标题】:How to retrieve geographical location from users using Angular [duplicate] 【发布时间】:2018-05-24 13:25:52 【问题描述】:

我正在使用 Angular 和 Openlayers 库进行编程。 我想使用这个 API:https://adresse.data.gouv.fr/api(页面是法语,所以我会解释目的)

此 API 的目标一方面是在构建 GeoJSON 文件时搜索地图上的某些地址,另一方面是使用反向地理编码。这就是为什么我需要用户提供地理位置。

例如这个请求:http 'https://api-adresse.data.gouv.fr/search/?q=8 bd du port' 将返回世界上所有回答名称“8 bd du port”的街道

所以我想使用反向地理编码并创建这样的请求:http 'https://api-adresse.data.gouv.fr/reverse/?lon=user_lon&lat=user_lat'

这是最好的方法吗?我不想使用像 Google 之类的其他 API

【问题讨论】:

无重复,我不想使用 Google API,我正在寻找一种使用 Angular 的方法 最受好评的答案表示使用浏览器的地理定位 API。它只提到了 google API 作为一种解决方法 这个问题没有回答我的问题,我想知道用 Angular 实现定位的最佳方法(这篇文章不是这样,因为我知道 Angular 是不同的) 你的问题是关于从用户那里检索地理位置。 Angular 在浏览器中运行。浏览器提供了一个地理定位 API。我不确定你想要更多... 【参考方案1】:

您可以为此使用 html 标准 Geolocation api。

  getLocation(): void
    if (navigator.geolocation) 
        navigator.geolocation.getCurrentPosition((position)=>
          const longitude = position.coords.longitude;
          const latitude = position.coords.latitude;
          this.callApi(longitude, latitude);
        );
     else 
       console.log("No support for geolocation")
    
  

  callApi(Longitude: number, Latitude: number)
    const url = `https://api-adresse.data.gouv.fr/reverse/?lon=$Longitude&lat=$Latitude`
    //Call API
  

【讨论】:

这段代码我有几个错误,问题来自: 字符 你用的是angular还是angularjs? 我正在使用 Angular 6 我不确定,这与 Angular 6 完美搭配,看here 我弄错了对不起,好的,那我试试这个,谢谢!

以上是关于如何使用Angular从用户那里检索地理位置[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从不同操作系统检索到的故障转储指向消息循环。如何从那里到达故障位置? (TeamViewer 使我的进程崩溃。)

MSAL Angular:如何从 JWT 令牌中检索用户角色?

Anylogic检索占用的门位置

Angular 如何从 authguard 中检索?

Angular 1.x - 无法通过动态数据检索实现分页[重复]

如何从用户那里获取多行输入[重复]