Клуб API Карт

Перестал работать поиск ближайшей метки. Версия карт 2.

ovvk-info
15 мая 2013, 10:53

Добрый день. Помогите разобраться.

Давно не следил за обновлениями функционала и может что-то изменилось.

Перестал работать поиск ближайшей метки. Раньше вводишь город и если метка в городе есть, то она отображается или отображается ближайший город с меткой. Теперь этого не происходит.

Ссылка на карту - http://map.teploov.ru/ 

UPD. После некоторых изысканий я понял, что что-то изменилось при переходе с версии 26 на версию 27. Когда записываю "2.0.26" - все работает как раньше.

 

 
searchControl = new ymaps.control.SearchControl({ provider: 'yandex#map' });
searchControl.events.add('resultshow',
function() {
var dist=6200000;
var dist2;
var filterObject;
var geoResult;
var y = searchControl.state.get('currentIndex')
searchControl.getResult(y).then(function (result) {
geoResult = result;
});
if (bSNiPSel) {
ml[0].each(function (obj3) {
obj3.each(function (res) {
dist2 = ymaps.coordSystem.geo.getDistance(res.geometry.getCoordinates(), geoResult.geometry.getCoordinates());
if ( dist2 < dist ) { filterObject = res; dist = dist2;}
});
});
}
if (bTSNSel) {
ml[1].each(function (obj3) {
obj3.each(function (res) {
dist2 = ymaps.coordSystem.geo.getDistance(res.geometry.getCoordinates(), geoResult.geometry.getCoordinates());
if ( dist2 < dist ) { filterObject = res; dist = dist2;}
});
});
}
if ( dist > 1000 ) {
if (geoResult.geometry.getCoordinates()[0] < filterObject.geometry.getCoordinates()[0])
{if (geoResult.geometry.getCoordinates()[1] < filterObject.geometry.getCoordinates()[1])
{map.setBounds([geoResult.geometry.getCoordinates(),filterObject.geometry.getCoordinates()]);}
else{map.setBounds([[geoResult.geometry.getCoordinates()[0],filterObject.geometry.getCoordinates()[1]],[filterObject.geometry.getCoordinates()[0],geoResult.geometry.getCoordinates()[1]]]);}
}else
{if (geoResult.geometry.getCoordinates()[1] > filterObject.geometry.getCoordinates()[1])
{map.setBounds([filterObject.geometry.getCoordinates(),geoResult.geometry.getCoordinates()]);}
else{map.setBounds([[filterObject.geometry.getCoordinates()[0],geoResult.geometry.getCoordinates()[1]],[geoResult.geometry.getCoordinates()[0],filterObject.geometry.getCoordinates()[1]]]);}
}
distBol = dist;
map.setZoom (map.getZoom()-1);
if ($("#CityFindType").val() == 1) { geoResult.balloon.open(); }
}
else {
map.setCenter(filterObject.geometry.getCoordinates(),10);
filterObject.balloon.open();
distBol = dist;
}
ClimatInfoOutput (filterObject, geoResult);
CalcRreq (filterObject); 
objGlobal = filterObject;
});

 

 

2 комментария
Подписаться на комментарии к посту
Зафиксируйте версию АПИ на 2.0.26

Я так и сделал. Но все-таки, это ошибка api или я что-то не доглядел?