Клуб API Карт

Бьюсь уже 2 часа :( глюк в Chrome

jackkum
5 марта 2011, 07:36

Добавляю метки на карту во всех браузерах все нормально но в Chrome метки при нажатии на них летают по всей карте а балуны не закрываются и отладчике ошибки.

Вот код:  

 
  var map            = null;
    var center         = null;
    var My             = null;
    var placemarks = Array();
    var interval        = null;
    var jq                = YMaps.jQuery;
    var ux               = <?php echo (float)$this->userx; ?>;
    var uy               = <?php echo (float)$this->usery; ?>;
    
    YMaps.jQuery(function(){
       
        map    = new YMaps.Map(YMaps.jQuery("#YMapBlock")[0]);
       
        if( ux != 0 && uy != 0 ){
            center = new YMaps.GeoPoint(ux, uy);
           
            My = new YMaps.Placemark(center, {draggable: 0, hasBalloon:true});
            My.name = "Вы здесь";
            map.addOverlay(My);
           
            //if( jq.browser.safari == false ){
                My.openBalloon();
            //}
           
           
        } else {
            center = new YMaps.GeoPoint(104.325, 52.2567);
        }
       
        map.setCenter(center, 15);
        map.enableScrollZoom();
       
       
        jq("a.SetPosMap").live("click", function(){
           
            jq("#Payments div").removeClass("selected");
           
            jq(this).parent().addClass("selected");
           
            var id      = jq(this).attr("id");
                 id      = id.split("_")[1];
            var title   = jq(this).attr("title");
            var html  = jq(this).html();
            var attr    = jq(this).attr("rel");
                 attr    = attr.split(",");
            var x       = attr[0];
            var y       = attr[1];
           
            var point = new YMaps.GeoPoint(x, y);
           
            map.panTo(point, {
                callback:function(){
                   
                    if( placemarks[id] == null ){
                        placemarks[id] = new YMaps.Placemark(point,{
                            balloonOptions: {
                                maxWidth:130,
                                hasCloseButton: false,
                                mapAutoPan: 0
                            },
                            hasBalloon: true
                        });
                       
                        //placemarks[id].name = title;
                        placemarks[id].description = '<div class="baloon">' + html + '</div>';
                        map.addOverlay(placemarks[id]);
                        //alert("panto");
                    }
                   
                    //if( jq.browser.safari == false && placemarks[id] != null ){
                        placemarks[id].openBalloon();
                    //}
                   
                }
            });
           
        });
       
    })   
  

 

Иправил на массив, но дело не в нем, кажется где-то конфликт с библиотеками, но не могу найти в чем причина, всё это работает на joomla 1.5

3 комментария
Подписаться на комментарии к посту

 Получается что у вас все метки присваиваются одной переменной

payments as $row ) : ?>
            placemark = new YMaps.Placemark(new YMaps.GeoPoint(, ));
            placemark.description = '
';
            map.addOverlay(placemark);
       
Пожалуйста, скройте листинг кода под врезкой.
С массивом тоже не помогло