Je boucle certains marqueurs et leur ajoute un lat et un long mais je reçois toujours cette erreur:
message
:
"not a LatLng or LatLngLiteral: not an Object"
name
:
"InvalidValueError"
Et:
InvalidValueError: setPosition: not a LatLng or LatLngLiteral: in property lat: not a number
Voici ma boucle:
var bedrijvenlijst = []; // new array
$.each( bedrijven, function( key, value ) {
// console.log( key + ": " + value.plaats );
console.log(value.lng);
bedrijvenlijst.Push({
title : value.title,
image : 'bbvdw.jpg',
address : value.straat + ' ' + value.plaats,
position : {
lat : value.lat,
lng : value.lng
},
markerIcon : 'marker-green.png'
}); // new item added in array
});
Lorsque je console le journal, le lng ou le lat s'affiche simplement comme un nombre normal comme:
4.23626
Pourquoi ai-je cette erreur? Si je tape juste les coordonnées moi-même dans la boucle, cela fonctionne très bien, donc ce qui est différent lors de l'utilisation de value.lat
et value.lng
? Dans la console, cela ressemble exactement à ce que je voudrais taper moi-même.
Le message d'erreur pointe vers la propriété "lat"; vous passez quelque chose qui n'est pas un nombre, il peut s'agir de la chaîne "4.36xxxx", alors vérifiez cela.
Tu pourrais essayer:
position : {
lat : parseFloat( value.lat ),
lng : parseFloat( value.lng )
},
Je pense que vous avez besoin d'un LatLng Google Maps. Vous ne pouvez pas simplement prendre des nombres normaux pour les positions d'un marqueur.
Comme position = new google.maps.LatLng (lat, lng);