Подскажите плиз можно ли привязать поиск к определенному краю, на пример надо найти поселок "Южный", но не тот что в Тульской обл., а тот что в Краснодарском крае?
Если Вы всегда хотите искать в определенной области, можно использовать поля boundedBy и strictBounds в options Посмотрите пример Поиск объектов в заданной области
var bound = new YMaps.GeoBounds(new YMaps.GeoPoint(66.18,66.60), new YMaps.GeoPoint(66.59,66.75));
var _searchControl = new YMaps.SearchControl({geocodeOptions: { geocodeProvider: "yandex#pmap", boundedBy: bound, strictBounds: true }}); map.addControl(_searchControl);
Но всё что-то не то. За пределами заданной зоны точно не ищёт, но и в этой зоне тоже не очень. К примеру, я нашел один объект, тут же ищу другой -- нет результата. Уменьшаю масштаб, снова ищу - ищет.
По части слова вообще отказывается искать! К примеру, ищу "больн" -- нет результата, "больничная" -- есть результат.
Но всё что-то не то. За пределами заданной зоны точно не ищёт, но и в этой зоне тоже не очень. К примеру, я нашел один объект, тут же ищу другой -- нет результата. Уменьшаю масштаб, снова ищу - ищет.
Топикстартер пишет про Геокодер. Причем тут SearchControl?
Читайте документацию про options.useMapBounds он по-умолчанию true и Ваш bounds игнорирует
Ну вы ответили ему про это, этим ответом вы навели меня на то, как сделать поиск только по городу, но возникли некоторые трудности. Поэтому я у вас спросил, как у знающего человека (не захотел из-за такой мелочи создавать новую ветку).
Ещё спросил из-за того, что посчитал геокодер и SearchControl достаточно родственными вещами...
Читайте документацию про options.useMapBounds он по-умолчанию true и Ваш bounds игнорирует
Спасибо! Теперь гораздо лучше (добавил useMapBounds:false в SearchControl), хотя раньше не сказать, что полностью мой bounds игнорировался. За его пределами точно не искал...
Можно ещё один вопрос? Как сделать так, чтобы поиск осуществлялся по части слова? Есть "Площадь В. Нака", по "Нак" (фамилия) ничего не находит, только по "нака", что не очень правильно.
День добрый. Сейчас, боюсь, так искать не получится. Мы не закладывали такой возможности. Если искать по частям слов, в выдаче окажется сумасшедшее количество объектов. Количество "мусора" превысит пользу от такого поиска.
Возможно, было бы уместно опционально сделать такую возможность, чтобы искалось по части слова, если по текущему запросу (поиск по полному слову) ничего не найдено.
Да, конечно. Мы мониторим запросы к сервису и отслеживаем неответы. Если много неответов будет в следствие подобных запросов, значит, нужно будет научиться отвечать :-)