Клуб API Карт

Проблема: Polyline и IE8

Пост в архиве.
alexey2128506
16 июня 2010, 18:11

HTML-страница содержит только DIV с картой и обьект IMG.

На карту помещен Polyline.

При отображении в Firefox и IE7 - все нормально.

В IE8  иногда (в среднем 3 раза из 4) Polyline не отображает и выдает ошибку:

Сведения об ошибке на веб-странице

Агент пользователя: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
штамп времени: Wed, 16 Jun 2010 13:56:11 UTC


Сообщение: Неожиданный вызов метода или обращение к свойству.
Строка: 11
Символ: 222690
Код: 0
URI-код: http://api-maps.yandex.ru/1.1.11/_YMaps.js

Если IMG со страницы убрать - все нормально.

Если IMG идет ДО карты - тоже.

Вопрос: как с этим бороться?

Код страницы:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<head></head>
<body>
<div class="RubDescription">
<script src="http://api-maps.yandex.ru/1.1/?key=MY_YANDEX_MAPS_KEY" type="text/javascript"></script>
<script type="text/javascript">
var map,pMarks, rLines;
YMaps.jQuery(function () {
        map = new YMaps.Map(YMaps.jQuery("#YMapsID-413")[0]);
        map.setCenter(new YMaps.GeoPoint(30.304988,59.942407), 11, YMaps.MapType.MAP);
        map.addControl(new YMaps.Zoom());

        var s = new YMaps.Style();
        s.lineStyle = new YMaps.LineStyle();
        s.lineStyle.strokeColor = '000080ff';
        s.lineStyle.strokeWidth = '5';
        YMaps.Styles.add("#routeline", s);

        rLines = new YMaps.GeoObjectCollection();
        var currRoute = new YMaps.Polyline();
        currRoute.addPoint(new YMaps.GeoPoint(30.381711,59.928080));
        currRoute.addPoint(new YMaps.GeoPoint(30.385745,59.926659));
        currRoute.setStyle("#routeline");
        currRoute.name="Закрытие";
        currRoute.description = "закрыто движение";
        rLines.add(currRoute);

        map.addOverlay(rLines);

        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>
<div style="width: 440px; height: 400px;" id="YMapsID-413"></div>
</div>
<img src="/pic/decor/arrow.gif">
</body>
</html>