Angular 6如何获取两个位置的AGM之间的距离

Rik*_*ika 1 google-maps distance angular

我使用此参考https://www.npmjs.com/package/agm-direction获取两点之间的方向。 现在,我想获取/计算两个位置之间的距离,这令人困惑。

我的模块中

AgmCoreModule.forRoot({
  apiKey: 'My API Key....',
  libraries: ['geometry']
})
Run Code Online (Sandbox Code Playgroud)

我的组件中

getDirection() {
   this.origin = { lat: this.pick_latitude, lng: this.pick_longitude }
   this.destination = { lat: this.drop_latitude, lng: this.drop_longitude }
}
Run Code Online (Sandbox Code Playgroud)

我的问题:当使用上述参考获取方向路径时,如何获得两点之间的距离?请给我建议(Google Map API等)。我正在使用Angular 6

dev*_*ato 7

您需要使用Google Geometry API

https://developers.google.com/maps/documentation/javascript/geometry

import {} from '@types/googlemaps';
import { AgmCoreModule, MapsAPILoader } from "@agm/core";

calculateDistance() {
    const mexicoCity = new google.maps.LatLng(19.432608, -99.133209.);
    const jacksonville = new google.maps.LatLng(40.730610, -73.935242.);
    const distance = google.maps.geometry.spherical.computeDistanceBetween(nyc, london);
  }
Run Code Online (Sandbox Code Playgroud)

在您的app.module.ts中

AgmCoreModule.forRoot({
  apiKey: 'YOUR API KEY',
  libraries: ['geometry']
}),
Run Code Online (Sandbox Code Playgroud)

  • @Rika正确。您看到的距离以米为单位“9616.47631361913”,您可以除以 1000 或乘以“0.001” (2认同)
  • 对于Angular 6+,您不能从“ @ types / googlemaps”执行此import {};而是将其放在TS文件的顶部(第一行)。`/// <参考路径=“。<relative_path> /node_modules/@types/googlemaps/index.d.ts” /> (2认同)