【发布时间】:2017-03-29 20:09:34
【问题描述】:
当我使用它时,我得到一个未定义的错误。 纬度未定义。
var arDrone = require('ar-drone');
var droneClient = arDrone.createClient();
droneClient.config('general:navdata_demo', 'FALSE'); // get back all data the copter can send
droneClient.config('general:navdata_options', 777060865); // turn on GPS
droneClient.on('navdata', function(navdata) {
console.log(navdata.gps.latitude + ', ' + navdata.gps.longitude);
// do stuff with the GPS information....
});
droneClient.takeoff(); .....
但是,如果我更改 1 行,我可以取回所有 gps 数据。
console.log(navdata.gps);
为什么我不能专门取回纬度数据?
var arDrone = require('ar-drone');
var droneClient = arDrone.createClient();
droneClient.config('general:navdata_demo', 'FALSE'); // get back all data the copter can send
droneClient.config('general:navdata_options', 777060865); // turn on GPS
droneClient.on('navdata', function(navdata) {
console.log(navdata.gps);
// do stuff with the GPS information....
});
droneClient.takeoff(); .....
【问题讨论】:
-
请提供确切的错误信息。也可能是
console.log(navdata.gps);的输出 似乎纬度不是使用点运算符可访问的属性。 -
C:\data>node gpsLog.js C:\data\gpsLog.js:8 console.log(navdata.gps.latitude + ', ' + navdata.gps.longitude); ^ 类型错误:无法在 Client.emit (events.js) 的 emitOne (events.js:96:13) 处读取 Client.
(C:\data\gpsLog.js:8:27) 处未定义的属性“纬度” :188:7) 在 Client._handleNavdata (C:\data\node_modules\ar-drone\lib\Client.js:194:8) 在 EmitOne (events.js:96:13) 在 UdpNavdataStream.emit (events.js :188:7) 在 UdpNavdataStream._handleMessage (C:\data\node_modules\ar-drone\lib\navdata\UdpNavdataStream.js:73:10) -
此代码来自另一篇文章,表明它确实有效。 stackoverflow.com/questions/24170884/…
-
我只是试了一下。 droneClient.on('navdata', function(navdata) { try { console.log(navdata.gps.latitude + ', ' + navdata.gps.longitude); } catch(err) { console.log(err.message) ; }