Клуб API Карт

Карта не всегда отображается

Пост в архиве.
serzhik
26 ноября 2008, 20:14

Почему-то карта не всегда отображается. Пример:http://party.com.ua/geo/Kiev/place/Caribbean_Club/

ссылка на javascript - http://party.com.ua/js/YMaps.js

Может кто-то подскажет в чем проблема?

К тому же появилась новая проблема - карта не отображается в Фаерфокс.

5 комментариев
Мне проще было написать свой пример, основываясь на вашем коде: function YMapsShowAdress(value) { var ym = document.getElementById("YMapsID"), map = new YMaps.Map(ym); map.addControl(new YMaps.Zoom()); ym.style.height = "400px"; ym.style.width = "500px"; map.redraw(); var geocoder = new YMaps.Geocoder(value, {boundedBy: map.getBounds()}); YMaps.Events.observe(geocoder, geocoder.Events.Load, function () { if (this.length()) { var placemark = this.get(0); map.setBounds(placemark.getBounds()); map.addOverlay(placemark); placemark.openBalloon(); } else { alert("Ничего не найдено") } }); } использование: показать на карте Совет: уделите побольше времени отладке кода ;) Если будет что-то непонятно - смогу прокомментировать свои действия. Нужно? :)
Если можно, поясните изменения. Дело в том, что я javascript начал изучать только появлением API Яндекс.Карты (спасибо Yandex'у) и писал все по интуиции, без изучения самого языка.
1) Загружаем карту только по щелчку на ссылке. Смысл использования флага loadbyrequire пропадает, если загружать карту сразу. При чем вы пытаетесь загрузить карту до того, как построен DOM - объектная модель документа. 2) Нет нужды инициализировать карту с помощью setCenter, а можно это сделать в результате геокодирования. 3) map.redraw() - лишний (его можно убрать) =) 4) У метки есть метод openBalloon(), не обязательно его вызывать у карты. 5) Ну и в принципе я удалил "лишние" функции, сократив код.
использование: показать на карте Firefox и Opera иногда пересылает на http://party.com.ua/#
В onclick после вызова метода YMaps.load нужно написать "return false".