I had such a situation : when a page loads, a map with a certain number of placemarks is loaded, and I want to click on a special button (on the page, but not on the map) to display a few more placemarks.
Code (if necessary):
function ymapsShow(markType) { if (markType == true) { var myMap = new ymaps.Map('map', { center: [59.930480, 30.327198], zoom: 8, controls: [] }), // Π‘Π°ΠΌΠ°Ρ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΠΈΠ½ΡΡ ΠΌΠ΅ΡΠΊΠ° myPlacemark = new ymaps.Placemark([parseFloat(document.getElementById("x").innerHTML), parseFloat(document.getElementById("y").innerHTML)], { hintContent: 'ΠΠΎΡΠΊΠ²Π°!', balloonContent: 'Π‘ΡΠΎΠ»ΠΈΡΠ° Π ΠΎΡΡΠΈΠΈ' }); // ΠΠΎΠ½Π΅Ρ ΡΠ°ΠΌΠΎΠΉ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΈ } else { var myMap = new ymaps.Map('map', { center: [59.930480, 30.327198], zoom: 8, controls: [] }), myPlacemark = new ymaps.Placemark( [parseFloat(document.getElementById("x").innerHTML), parseFloat(document.getElementById("y").innerHTML)], { hintContent: 'Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π½Π°ΡΠΎΠΊ ΠΌΠ΅ΡΠΊΠΈ', balloonContent: 'ΠΡΠΎ ΠΊΡΠ°ΡΠΈΠ²Π°Ρ ΠΌΠ΅ΡΠΊΠ°' }, { // ΠΠΏΡΠΈΠΈ. // ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΌΠ°ΠΊΠ΅ΡΠ°. iconLayout: 'default#image', // Π‘Π²ΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΌΠ΅ΡΠΊΠΈ. iconImageHref: "<%= asset_path('icons/blocks_3.svg') %>", // Π Π°Π·ΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΊΠΈ. iconImageSize: [30, 30], // Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΠ³Π»Π° ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ // Π΅Ρ "Π½ΠΎΠΆΠΊΠΈ" (ΡΠΎΡΠΊΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ). iconImageOffset: [-5, -30] }); } myMap.geoObjects.add(myPlacemark); }; The question is, can this be done on an already loaded map, or is it necessary to first remove it and add a new one along with a new set of placemarks?