2013-11-03 75 views
0

我就需要一个GSM模块(SIM900D)发送两个位置坐标(当前位置和目的地)到服务器,并响应使用谷歌地图API获得方向的项目工作。使用节点的GoogleMaps从谷歌获取路线地图

我开始了JavaScript和PHP和后者意识到,JavaScript是客户端和PHP是服务器端,我不能发送javascript变量到PHP。我现在知道我必须为我的项目使用node.js。我对JavaScript有一点经验,但是我的node.js知识仅限于hello world web server

我试着运行directions-test.js for node-googlemaps失败。

确切的代码是给一个错误“找不到模块“../lib/googlemaps'”,所以我换成了“” ../lib/googlemaps'”与‘谷歌地图’,它运行良好,但所有我得到的是sqrt(行)>> 2荣誉(0.896s)。

我知道我必须从某个地方插入我的谷歌地图API密钥,但不能揣摩出和语法。有人能告诉我方向对象在哪里吗?

编辑:我是一名电气工程专业的学生,​​请详细说明您的答案。我的项目与EE相关,我无法学习所有内容并从头开始编写代码(由于时间限制),因此我们将非常感谢相关示例代码。

编辑2:我刚才已经意识到directions-test.js for node-googlemaps不是示例代码,而使用它的誓言测试代码。 Vows as its website defines it is是从头建立起来测试异步代码。它在有意义的时候并行地执行你的测试,当依赖时依次执行你的测试。

+0

'>我无法发送JavaScript变量php'当然可以,你需要做的是序列化的变量,并通过HTTP请求发送到PHP服务器(例如:用序列变量POST请求根据要求机构)。你也可以使用AJAX。 – fardjad

+0

@fardjad我想你误解了我的问题。所有的工作都需要在服务器上完成。 GSM模块发送获取或发布请求到PHP和PHP返回方向。 –

回答

2
var gm = require('googlemaps'); 
var util = require('util'); 

gm.config('key', '<insert your api key here>'); 
gm.directions('31.470656,74.412929', '31.470789,74.408619' , 
function(err, data){util.puts(JSON.stringify(data));}); 

这是您如何获取两个位置之间的方向。

+0

但是,我从哪里获得此API密钥?有Android,iOS和Web API密钥,但节点? –

+1

Web API密钥应该可以工作。 –

+0

是的。它确实有效。谢谢! –

相关问题