Google maps error not a latlng or latlngliteral invalidvalueerror [duplicate]
Matthew Martinez
I am looping some markers and add a lat and long to them but I keep getting this error:
message
:
"not a LatLng or LatLngLiteral: not an Object"
name
:
"InvalidValueError"And:
InvalidValueError: setPosition: not a LatLng or LatLngLiteral: in property lat: not a numberThis is my loop:
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 });When I console log the lng or lat is just shows as a normal number like:
4.23626
Why do I get this error? If I just type the coordinates myself in the loop it works fine, so what is different when using value.lat and value.lng ? In the console it looks exactly the same as if I would type it myself.
2 Answers
The error message points to the property 'lat'; you're passing something that is not a number, it might be the string "4.36xxxx", so check for that.
You could try:
position : { lat : parseFloat( value.lat ), lng : parseFloat( value.lng ) }, 2 I think you need a Google Maps LatLng. You cant just take normal numbers for the positions of a marker.
Like position = new google.maps.LatLng(lat,lng);
2