Клуб API Карт

Заменить стандартный вид метки поиска

Пост в архиве.

Привет всем! Подскажите, пожалуйста, как поменять стандартную метку поиска в API 2.x, синяя рамка и белый кружочек, на крестик, например, маленький. То есть когда ищешь стандартным контролером searchControl , чтобы на результате поиска появлялся крестик, вместо стандартной метки. 

13 комментариев
Sergey Konstantinov
28 января 2016, 00:28
Правильный вариант в таком случае - выставить опцию noPlacemark в true и рисовать метку по событию select самому.

Я добавляю поиск таким образом:

myMap.controls

.add('searchControl')

Подскажи как прописать эту опцию?

У меня почему то опция noPlaceMark не срабатывает! :( Новую метку мою ставит, но поверх нее , все равно метка стандртная поиска... У меня вот такой код, делал по вашему примеру, полностью ваш код не срабатывает, не может найти метод remove... и  done

http://jsfiddle.net/y999k/3/

выложите этот код на jsfiddle.net и запостите тут ссылку

Ну так ничего же не отображается.

Подключите в левой панели нужную версию АПИ (которую вы используете) "External resources"

в окошке HTML создайте

в окошке CSS напишите ему чтото типа

#map {

width: 600px;

height: 400px;

}

нажмите кнопку update и пришлите новый урл

 

Мы его поправим чтобы работало и пришлем обновленный урл обратно

Вы забыли ymaps.ready(init);

ну да ладно.

Вот новый фидл

Спасибо! Были бы вы рядом, обязательно обнял и пожал руку! :-)

Только есть еще одни нюанс, может, подскажите сходу, вместо тестового балуна, у меня происходит обращение к аяксу, базе и генерация нового балуна с данными, ссылку прилагаю. Так вот этот балун срабатывает четко так как нужно, то есть после результата поиска, он сразу срабатывает на месте поиска, НО почему то через раз ! :-( То есть 1 раз сработал, потом второй раз просто пустое место, потом опять балун появляется и т.д. ... Чем это может быть вызванно? http://jsfiddle.net/y999k/5/

сейчас вообще ничего не срабатывает, т.к. вы не подключили jQuery

слева во вкладке frameworks можно выбрать.

 

Я честно говоря не осилю тут помочь

У вас 5 экранов кода, вложенные AJAX-запросы.

Это надо хотя бы разложить по разным функциям/классам иначе там черт ногу сломит

понял! удачи вам! до связи! :)

Я разобрался если, что :) А то мало ли кто нибудь будет сидеть разбираться... Еще раз спасибо.

Косяк был в этом условии if (!myMap.balloon.isOpen()) . Просто 1 раз это условие срабатывало, а второй раз нет :)

Спасибо большое! :-)