Ce que je suis en train d'accomplir appelle result.MappingWaypoints[i].lat();
et result.MappingWaypoints[i].lng();
au lieu de result.MappingWaypoints[i].lat;
et result.MappingWaypoints[i].lng
.dans un tableau javascript
Est-ce encore possible?
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"
}
Edit: J'ai essayé d'ajouter:
lat: function(){ return current_point_gps.lat},`
lng : function(){ return current_point_gps.lng},
Mais cela ne fonctionne pas => toutes les valeurs du tableau ont la valeur lat/long de la première coord
Edit2: Merci à @DCoder pour cette réponse dans les commentaires ci-dessous: cela a résolu pour moi.
lat: (function(v) { return function() { return v; } })(current_point_gps.lat)
Je sais que cela peut sembler être une chose étrange à faire, mais un algorithme j'utilise vraiment besoin d'acces des données comme un appel de fonction, car l'algo traite également des données de l'api google où les données ne sont accessibles par la même fonction, appelez lat() et lng(). MERCI :)
À moins que vous ne créiez une solution de stockage plus complexe, les réponses données jusqu'à maintenant disparaîtront une fois que la valeur de 'current_point_gps' sera modifiée. – DCoder
Note latérale - vous mélangez des tableaux et des objets (qui sont des tableaux associatifs), donc n'utilisez pas 'var result = new array()' quand vous le traitez comme un tableau/objet associatif. – PhonicUK
@DCoder: vous avez absolument raison – Thomas