Например, завести две коллекции — одна для последней иконки, вторая для остальных. При добавлении новой иконки сначала предыдущая переносится в другую коллекцию.
Вообще, без примера кода ответить на такой вопрос затруднительно.
Но я предполагаю, что у вас неправильно выставлена опция iconImageOffset, т.е. неправильно задана точка привязки иконки к карте.
Как-то так https://jsfiddle.net/u9k68dw7/1/
Можно ещё таймаутов добавить, чтобы перестраивать панель, когда пользователь задержался на результате, скажем, дольше 200 мс.
Вы делаете стандартную ошибку человека, не знакомого с JavaScript. В вашем коде будет 4 раза добавлена метка с одними и теми же координатами. javascript.ru/book/definitiveguide раздел «Область видимости функций и замыкания»