【问题标题】:Get coordinates of current location in angular以角度获取当前位置的坐标
【发布时间】:2019-01-08 17:55:05
【问题描述】:

我在服务中创建了以下函数,以获取当前位置的坐标并将它们存储在 2 个变量中:

  getCurrentLocation() {
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(position => {

        this.currLat = position.coords.latitude;
        this.currLng = position.coords.longitude;
      });
    }
    else {
      alert("Geolocation is not supported by this browser.");
    }
  }

如何通过此函数返回坐标以便在组件中使用它们?

【问题讨论】:

    标签: angular google-maps geolocation


    【解决方案1】:

    你可以返回一个承诺。

    locationService.ts

     getPosition(): Promise<any>
      {
        return new Promise((resolve, reject) => {
    
          navigator.geolocation.getCurrentPosition(resp => {
    
              resolve({lng: resp.coords.longitude, lat: resp.coords.latitude});
            },
            err => {
              reject(err);
            });
        });
    
      }
    

    component.ts

      this.locationService.getPosition().then(pos=>
      {
         console.log(`Positon: ${pos.lng} ${pos.lat}`);
      });
    

    【讨论】:

      【解决方案2】:

      以防万一你想不断请求职位,然后使用

      navigator.geolocation.watchPosition(res => ...
      

      【讨论】:

        猜你喜欢
        • 2022-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-08
        • 2017-04-18
        相关资源
        最近更新 更多