Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Спойлер на JS и карта яндекса (https://javascript.ru/forum/misc/19159-spojjler-na-js-i-karta-yandeksa.html)

torvin 27.07.2011 17:37

Спойлер на JS и карта яндекса
 
ситуация такая, есть скрипт который скрывает определенный div, по кнопке "скрыть/показать", внутри него находиться две карты яндекса, при открытии этого блока с картами, они отображаются некорректно, то картинка пропадет, то балуны? то центр карты сместится
<script type="text/javascript">
    YMaps.jQuery(window).load(function () {
        var map = new YMaps.Map(YMaps.jQuery("#YMapsID-413")[0]);
        map.setCenter(new YMaps.GeoPoint(...), 10, YMaps.MapType.MAP);
        map.addControl(new YMaps.Zoom(),
                                new YMaps.ControlPosition(
                            YMaps.ControlPosition.TOP_LEFT,
                            new YMaps.Size (5, 5)
                        )
                );
                map.enableScrollZoom();
        YMaps.MapType.PMAP.getName = function () { return "Народная"; };
        map.addControl(new YMaps.TypeControl([
            YMaps.MapType.MAP,
            YMaps.MapType.SATELLITE,
            YMaps.MapType.HYBRID,
        ], [0, 1, 2, 3]));

        YMaps.Styles.add("constructor#pmlbmPlacemark", {
            iconStyle : {
                href : "..........",
                size : new YMaps.Point(35,35),
                offset: new YMaps.Point(-8,-27)
            }
        });

       map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(37.602705,55.7652), "constructor#pmlbmPlacemark", "...."));
        
        function createObject (type, point, style, description) {
            var allowObjects = ["Placemark", "Polyline", "Polygon"],
                index = YMaps.jQuery.inArray( type, allowObjects),
                constructor = allowObjects[(index == -1) ? 0 : index];
                description = description || "";
            
            var object = new YMaps[constructor](point, {style: style, hasBalloon : !!description});
            object.description = description;
            
            return object;
        }
    });
</script>


скрипт сполера, идет после карты
<script type="text/javascript" langauge="JavaScript">
//<![CDATA[
function doMenu(item) {
 obj=document.getElementById(item);
 col=document.getElementById("x" + item);
 if (obj.style.display=="none") {
  obj.style.display="block";
  col.innerHTML="скрыть";
 }
 else {
  obj.style.display="none";
  col.innerHTML="подробнее";
 }
}
//]]>
</script>


Почти не силен в JS и разобраться сам не смогу. что нужно в нем изменить чтобы инициализация карты проходила нормально? Заранее большое спасибо!

Serg_pnz 27.07.2011 17:54

http://api.yandex.ru/maps/jsapi/doc/...l#event-Redraw

torvin 27.07.2011 18:02

Цитата:

Сообщение от Serg_pnz (Сообщение 115692)

прошу прошение, и как мне это применить?

Serg_pnz 28.07.2011 15:29

как-то так
YMaps.jQuery("#YMaps_WHmoo").bind(\'click\', function () {

					if (container.css(\'width\') == \'670px\') {
						container.css(\'width\', \'250px\');
						container.css(\'height\', \'250px\');
					} else {
						container.css(\'width\', \'670px\');
						container.css(\'height\', \'670px\');
					}

				map.redraw();
				return false;
			});


Часовой пояс GMT +3, время: 02:27.