Как использовать Google API матрицы расстояний в Angular - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь использовать Google Distance Matrix API.https://developers.google.com/maps/documentation/distance-matrix/start.У меня есть необходимые параметры запроса, которые получены из текущего местоположения (начальная широта и долгота) и когда я нажимаю на маркер (я получаю конечную широту и долготу).Сейчас я пытаюсь вызвать API в служебном файле, он не работает должным образом.

Ниже приведен код службы: ниже приведены параметры запроса, переданные в объект sendQuery.

apiKeyToPass: "this will be apikey"
srcDestinationLat: 29.9809683
srcDestinationLng: 31.3377553
srcOriginLat: 11.127122499999999
srcOriginLng: 78.6568942

На местеapikey Я передаю apikey.Как передать вышеприведенные параметры sendQuery в приведенный ниже URL, чтобы я получил желаемый ответ.

getDistanceMatrix(sendQuery): Observable<any> {
       return this.http.get('https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins={{srcOriginLat}},{{srcOriginLng}}&destinations={{srcDestinationLat}},{{srcDestinationLng}}&key=apikey') 
    .map((response: Response) => {
        return response.json();
      })
      .catch(this.handleError);
  }

Когда я выполняю приведенный выше код, код запускается в цикл исключений, а не входит в цикл ответа.

1 Ответ

0 голосов
/ 14 января 2019

эта работа для меня:

public getDistancia(origen: string, destino: string) {
    return new google.maps.DistanceMatrixService().getDistanceMatrix({'origins': [origen], 'destinations': [destino], travelMode: 'DRIVING'}, (results: any) => {
        console.log('resultados distancia (mts) -- ', results.rows[0].elements[0].distance.value)
    });
}
...