Если на странице есть ошибка javascript, не загружается ли карта Google? - PullRequest
0 голосов
/ 01 февраля 2012

Я использую Google Maps API. Я получаю Google Map по:

$map = $this->ci->gis->draw_map_position_by_lat_long($this->ci->profile_data['LocLat'],$this->ci->profile_data['LocLong']);
$this->ci->widgets['map']= $map;

Функция:

public function draw_map_position_by_lat_long($lat = NULL , $long = NULL) {

    $load['center'] = $lat . ',' . $long;
    $load['map_height'] = "191px";
    $this->ci->googlemaps->initialize($load);
    $i = 0;
    $marker = array();

    $marker['position'] = $lat . ',' . $long;
    $marker['draggable'] = 'TRUE';
    $marker['ondragend'] = "dragmarker(this.getPosition().lat(),this.getPosition().lng())";
    $this->ci->googlemaps->add_marker($marker);

    $map = $this->ci->googlemaps->create_map();
    $this->position_data = array('map' => $map);
    return $this->position_data;
}

В каждом приложении карта без проблем, кроме одного места.
Странно то, что когда я печатаю карту на стороне сервера, в ней не отображается.

        $map = $this->ci->gis->draw_map_position_by_lat_long($this->ci->profile_data['LocLat'],$this->ci->profile_data['LocLong']);
        $this->ci->widgets['map']= $map; 

pre($map);

как это:

enter image description here

Я проверил в Firebug и no java-script errors.

Еще одна странная вещь, которую я обнаружил, заключается в том, что когда я удаляю один из моих файлов javascript, карта отлично загружается, но не имеет прямой связи с картой Google. Также в Firebug не отображаются ошибки javascript.

Этот скрипт:

jQuery(document).ready(function(){
        jQuery('#photo-slider').bxSlider();


        window.onload = createUploader;     
});

Понятия не имею, что не так, я застрял здесь. Любое предложение будет оценено. Спасибо

1 Ответ

4 голосов
/ 01 февраля 2012

Сценарий задерживает событие load, что может привести к тому, что карта Google не сможет его использовать. Если вы используете события jQuery вместо событий DOM, несколько сценариев могут использовать это событие.

Попробуйте изменить это:

jQuery(document).ready(function(){
        jQuery('#photo-slider').bxSlider();


        window.onload = createUploader;     
});

до:

jQuery(document)
.ready(function(){ jQuery('#photo-slider').bxSlider(); })
.load(createUploader);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...