Яндекс.карты — почему не выводятся объекты, полученные из json?

Доброго дня! Подскажите, что делаю не так.. не получается вывести объекты на карту.
весь код
ymaps.ready(init);

function init() {


    var myMap = new ymaps.Map("map", {
            center: [53.187814, 50.113989],
            zoom: 1
    });

    var coords = [];
    var names = [];

$.getJSON(
        "https://dl.dropboxusercontent.com/u/18781731/geoadv.json",
            function(data) {
            for (var key in data) {
                coords.push(data[key].fields.geo);
                names.push(data[key].fields.name);
            }

    var myCollection = new ymaps.GeoObjectCollection({}, {preset: 'twirl#shopIcon'});
        for (var i = 0, l = coords.length; i < l; i++) {
            myCollection.add(new ymaps.Placemark(parseFloat(coords[i]),
            {
                balloonContentHeader:names[i]
            }));
            console.log(coords[i]);
        }
        console.log(coords);
        myMap.geoObjects.add(myCollection);
        //myMap.setBounds(myCollection.getBounds());
    }
);
}
  • Вопрос задан
  • 2918 просмотров
Решения вопроса 1
HaJIuBauKa
@HaJIuBauKa
Не корректно передаешь данные о координатах:
myCollection.add(new ymaps.Placemark(parseFloat(coords[i]),

Нужно спарсить JSON данные:
var _coords = JSON.parse(coords[i]);
myCollection.add(new ymaps.Placemark([parseFloat(_coords[0]),parseFloat(_coords[1])],
...
// Либо, если не нужна проверка на float 
myCollection.add(new ymaps.Placemark(JSON.parse(coords[i]),
...

Тут fork
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы