如何从dilogflow实现中调用Google Map API。请问我的代码有什么问题?

时间:2019-02-19 15:08:53

标签: dialogflow

我希望能够在dialogflow webhook中实现以下代码...以距离响应:“ + result.routes [0] .legs [0] .steps [0] .distance.text);当意图匹配时...

var Request = require("request");
var voso = "https://maps.googleapis.com/maps/api/directions/json?origin=ikoyi&destination=egbeda&key****"
Request.get(voso, (error, response, body) => {
    if(error) {
        return console.dir(error);
    }
    var result = JSON.parse(body);
    console.log("Distance is : "+ result.routes[0].legs[0].steps[0].distance.text);
    console.log("Duration is : "+ result.routes[0].legs[0].steps[0].duration.text);
    return result;
});

1 个答案:

答案 0 :(得分:0)

我用axios打了电话。您可以将此代码放入函数中。您将需要指定一个特定的地方而不是一个通用区域,并且还需要指定在这种情况下为尼日利亚的地区。

function Distance(agent) {
let url ='https://maps.googleapis.com/maps/api/directions/json?origin=TBS&destination=zone+park+gbagada&key=AIzaSyD7-V9F5DxU-Mn4WM-CBoI8_Muhtsnu5pM&region=NG';

  return axios.get(url).then((response) => {
    console.log(response.data);
    var distance = response.data.routes[0].legs[0].distance.text;
    let bot_response = "The distance is " + distance;
    agent.add(bot_response);

  });
}