获取当前位置的角度坐标

Eli*_*ias 3 google-maps geolocation angular

我在服务中创建了以下函数,以获取当前位置的坐标并将其存储在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.");
    }
  }
Run Code Online (Sandbox Code Playgroud)

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

Dav*_*vid 12

您可以兑现承诺。

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);
        });
    });

  }
Run Code Online (Sandbox Code Playgroud)

component.ts

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


Ren*_*ler 6

以防万一,如果您想不断请求该职位,请使用

navigator.geolocation.watchPosition(res => ...
Run Code Online (Sandbox Code Playgroud)