使用IONIC 2中的Javascript API计算2点之间的距离

meh*_*hdi 3 google-maps-api-3 typescript ionic-framework ionic2

我想得到用户的当前位置并计算该位置与其他位置之间的距离.我正在使用本教程:在Ionic 2中使用Google地图创建附近的地方列表.这是代码:

let usersLocation;
Geolocation.getCurrentPosition().then((position) => {

   usersLocation = { lat :position.coords.latitude ,  lng : position.coords.longitude }
   locations.map((location) => {

    let placeLocation = {
      lat: location.latitude,
      lng: location.longitude
    };

    location.distance = this.getDistanceBetweenPoints(
        usersLocation,
        placeLocation,
        'miles'
    ).toFixed(2);
  });

});
Run Code Online (Sandbox Code Playgroud)

问题是:usersLocation变量未设置当前用户位置的纬度和经度.你能帮助我吗!!

ill*_*ich 12

calculateDistance(lat1:number,lat2:number,long1:number,long2:number){
    let p = 0.017453292519943295;    // Math.PI / 180
    let c = Math.cos;
    let a = 0.5 - c((lat1-lat2) * p) / 2 + c(lat2 * p) *c((lat1) * p) * (1 - c(((long1- long2) * p))) / 2;
    let dis = (12742 * Math.asin(Math.sqrt(a))); // 2 * R; R = 6371 km
    return dis;
  }
Run Code Online (Sandbox Code Playgroud)