我想要完成的是调用result.MappingWaypoints[i].lat();
and
result.MappingWaypoints[i].lng();
而不是result.MappingWaypoints[i].lat;
and result.MappingWaypoints[i].lng
。
这甚至可能吗?
var result = new Array();
result = {
'MappingWaypoints': MappingWaypoints,
'Flightime': flight_time_sec,
'PhotoArea': { 'SouthWest': MeterstoGPS(starting_photo_area),
'NorthEast': MeterstoGPS(end_photo_area)},
};
MappingWaypoints.push(
{
lat : current_point_gps.lat,
lng : current_point_gps.lng,
Radius : 10,
Altitude : Attitude,
ClimbRate : ClimbRate,
DelayTime : DelayTime,
WP_Event_Channel_Value : 100,
Heading : 0,
Speed : Speed,
CAM_Nick : 0,
Type : 1,
Prefix : "P"
}
编辑:我尝试添加:
lat: function(){ return current_point_gps.lat},`
lng : function(){ return current_point_gps.lng},
但这不起作用=>数组的所有值都具有第一个坐标的纬度/经度值
edit2:感谢@DCoder 在下面的评论中给出这个答案:这为我解决了这个问题。
lat: (function(v) { return function() { return v; } })(current_point_gps.lat)
我知道这似乎是一件奇怪的事情,但是我正在使用的算法确实需要将数据作为函数调用来访问,因为该算法还处理来自 google api 的数据,其中数据只能通过相同的函数调用 lat( ) 和 lng()。谢谢 :)