Добрый день.
Необходимо следующее. На карте есть метки. Ищется город и если в нем есть метка, то отображается только она. Если нет, то отображается искомый город и ближайший к нему.
geoResult - найденный город
obj4 - найденная ближайшая метка на карте
dist - расстояние между ними
В АПИ 1.0 было:
var bounds new YMaps.GeoCollectionBounds();
if ( dist > 1000 ) {
map.addOverlay(geoResult);
bounds.clear();
bounds.add(obj4.getGeoPoint());
bounds.add(geoResult.getGeoPoint());
map.setBounds(bounds);
map.setZoom (map.getZoom()-1);
if ($("#CityFindType").val() == 1) { geoResult.openBalloon(); }
}else {
bounds.clear();
map.setZoom (9);
map.setCenter(obj4.getGeoPoint());
obj4.openBalloon();
}
В АПИ 2.0 пытаюсь по всякому. Например так:
var myGroup = new ymaps.GeoObjectCollection();
if ( dist > 1000 ) {
map.geoObjects.add(geoResult);
myGroup.add(obj4);
myGroup.add(geoResult);
//map.geoObjects.add(myGroup);
map.setBounds(myGroup.getBounds());
//map.setBounds([obj4.geometry.getCoordinates(), geoResult.geometry.getCoordinates()]);
if ($("#CityFindType").val() == 1) { geoResult.Balloon.open(); } //Пытаюсь открыть баллун, но не получается
} else {
map.setCenter(obj4.geometry.getCoordinates(),9);
obj4.Balloon.open();}
В случае, если искомый город присутствует - карта центруется на нем, но не открфывется баллун - только после клика.
В другом случае - просто исчезает существующая метка с карты.