Ошибка карт Google не является latlng или latlngliteral invalidvalueerror

Я зацикливаю некоторые маркеры и добавляю к ним широту и длину, но продолжаю получать эту ошибку:

message
:
"not a LatLng or LatLngLiteral: not an Object"
name
:
"InvalidValueError"

А также:

InvalidValueError: setPosition: not a LatLng or LatLngLiteral: in property lat: not a number

Это мой цикл:

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
    });

Когда я вхожу в консоль, lng или lat просто отображаются как обычное число, например:

4.23626

Почему я получаю эту ошибку? Если я просто сам наберу координаты в цикле, все будет работать нормально, так в чем разница при использовании value.lat и value.lng ? В консоли это выглядит точно так же, как если бы я набирал его сам.


person twan    schedule 25.10.2017    source источник
comment
Пожалуйста, добавьте jsfiddle   -  person artgb    schedule 25.10.2017


Ответы (2)


Сообщение об ошибке указывает на свойство 'lat'; вы передаете что-то, что не является числом, это может быть строка «4.36xxxx», поэтому проверьте это.

Вы можете попробовать:

 position : {
          lat : parseFloat( value.lat ),
          lng : parseFloat( value.lng )
      },
person dev8080    schedule 25.10.2017
comment
Большое спасибо! Это сделало работу. - person twan; 27.10.2017
comment
Не работает для меня - person Gautam Patadiya; 28.04.2019

Я думаю, вам нужен Google Maps LatLng. Вы не можете просто взять обычные числа для позиций маркера.

Нравится position = new google.maps.LatLng(lat,lng);

person yohohohohohohoho    schedule 25.10.2017
comment
Но когда я набираю широту и долготу вместо value.lat или value.lng, все работает. Так что это должно работать только с цифрами. - person twan; 25.10.2017