javascript - 无法使用 Node.js 服务器连接到 Google Directions API

标签 javascript node.js api callback google-api

我正在尝试通过回调函数使用我的 Node 服务器连接到 Google Directions API,但由于某种原因我无法从 Google API 获得响应。有趣的是,几天前我就开始工作了,但我设法打破了它。我的 Controller 包含以下代码 - 调用 google_api.js 中的函数:

var google = require('../scripts/google_api')    

var inputs = {
  origin: "1600 Amphitheatre Parkway, Mountain View, CA",
  destination: "1 Infinite Loop, Cupertino, CA 95014, USA",
  mode: "driving",
};

function getDirections(data, callback){
  console.log("First");
  callback(data);
  console.log("Second");
};
getDirections(inputs, google.directions);

我的 google_api.js 文件包含以下代码(带有有效的 API key ):

var googleMapsClient = require('@google/maps').createClient({
  key: 'XXX'
});

module.exports.directions = (req, res) => {

  console.log(req);

  googleMapsClient.directions({
  origin: req.origin,
  destination: req.destination,
  mode: req.mode,

  }, function(err, response) {
    if (!err) {
    console.log(response.json.results);
    };
  });
};

console.log("First")、console.log("Second") 和 console.log(req) 均按预期运行,因此问题必定存在于 googleMapsClient.directions() 函数内。 API key 经过测试并可与另一个前端 JS 函数配合使用,因此 key 不存在问题。我设法让该函数输出一次错误,并出现 EHOSTUNREACH 错误,但复制此错误并不一致。我担心我错过了一些非常基本的东西,以至于我什至不知道从哪里开始。任何帮助都会很棒!谢谢

最佳答案

**

Asked long time ago, just posting a working code if anybody comes across and want to implementing this google api.

**

var googleMapsClient = require('@google/maps').createClient({
  key: xxxxxxxxxx
});

function getDirections (req, callback)  {
  googleMapsClient.directions({
  origin: req.origin,
  destination: req.destination,
  mode: req.mode,

  }, function(err, response) {
  console.log(err);
  console.log(response);
    if (!err) { 
    callback(response.json.results);
    };
  });
};

var inputs = {
  origin: "1600 Amphitheatre Parkway, Mountain View, CA",
  destination: "1 Infinite Loop, Cupertino, CA 95014, USA",
  mode: "driving",
};

getDirections(inputs, function(result){
console.log("Response: ", result)
});

关于javascript - 无法使用 Node.js 服务器连接到 Google Directions API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42379054/

相关文章:

Java错误api级别的方法

javascript - 专用 jQuery AJAX 函数中的错误回调

javascript - 如何通过 java 脚本触发 A/B 测试 VWO

node.js - 混淆使用 aws 发送短信 [更新 : sms is delivered soo late]

.net - 谷歌分析 API 和 .Net

java - 山魈包装 API JAVA

javascript - 使用 JavaScript 更改列表样式的 onclick

javascript - Coffeescript 编译参数名称错误的构造函数

node.js - 向 Error 对象添加属性时出现 Typescript 错误 "Property ... does not exist on type ' Error'"

node.js - 当通过 postman 请求时,HTTP 请求中带下划线的 header 参数在服务器端不可用