如何使用Angular从用户检索地理位置

时间:2018-05-24 13:25:52

标签: javascript angular api openlayers reverse-geocoding

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

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

例如,此请求:menuconfig将返回世界上所有回答名称" 8 bd du port"

的街道

所以我想使用反向地理编码并创建这样的请求:http 'https://api-adresse.data.gouv.fr/search/?q=8 bd du port'

这是继续进行的最佳方式吗?我不想使用像Google一样的其他API

1 个答案:

答案 0 :(得分: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
  }