Клуб API Карт

Массив placemark как создать?

xided
28 ноября 2014, 10:44

Собссвенно вопрос, есть куча координат, все их надо выкинуть на карту. Как сделать массив placeмарок?

10 комментариев
Подписаться на комментарии к посту

а чем  собссвенно вопрос? Что не получилось?

Т.к я только начал учить js, и еще не свосем понимаю его особенности, я пытался делать так

 

var myMap;ymaps.ready(function () {    var myMap = new ymaps.Map('map', {            center: [51.8272100, 107.6062700],            zoom: 9        }),        car[0] = new ymaps.Placemark([51.83435,107.589327, 51.833335, 107.587355], {           // hintContent: '#44'        }, {            // Опции.            // Необходимо указать данный тип макета.            iconLayout: 'default#image',            // Своё изображение иконки метки.            iconImageHref: 'img/bus.png',            // Размеры метки.            //iconImageSize: [30, 30],            // Смещение левого верхнего угла иконки относительно            // её "ножки" (точки привязки).            //iconImageOffset: [-3, -42]        });        myMap.geoObjects.add(car[0]);    });

 

Но как очевидно, я был не прав, и скрипт не работал

Всеволод Шмыров
28 ноября 2014, 12:49
Создать метки в цикле, а если объектов очень много (несколько тысяч), то лучше использовать технологию ObjectManager. https://tech.yandex.ru/maps/jsbox/2.1/object_manager

Я их потом смогу снести, если в цикле создам?

Всеволод Шмыров
28 ноября 2014, 13:52
Если сохраните ссылки на них то, да

Может все же кто нибудь кинет пример с массивом?

Всеволод Шмыров
5 декабря 2014, 09:39
Это вопрос по основам JS. Почитайте статью http://learn.javascript.ru/while-for
код будет примерно такой
for (var i = 0, l = coords.length; i < l; i++) {
var pl = new ymaps.Placemark(coords[i]);
myMap.geoObjects.add(pl);
}

Спасибо.

Еще один глупый вопрос, как сохранить ссылки на pl?

Я пытался сделать как то так:

for (var i = 0, l = coords.length; i < l; i++) {
var pl = new ymaps.Placemark(coords[i]);
obj[i] = pl;
myMap.geoObjects.add(pl);
}
Это верно?)

Все, сделал, не отвечайте :)