google map "a is null" на main.js (строка 1121) - PullRequest
1 голос
/ 27 июня 2011

Я загружаю маркеры из XML. У меня есть карта инициации на $(document).ready() и на AJAX завершена. Я исследовал эту проблему и вижу, что в большинстве случаев это происходит из-за загрузки карты до того, как документ готов. Так почему я получаю ее?

когда я в console.log () в приведенном ниже коде, я получаю полный массив, но карта не показывает полную ту же информацию.

вот мой код:

$(document).ready(function(){
        var myMarkers = new Array;  

        $.ajax({
        url: "tire-banks.xml",
        dataType: ($.browser.msie) ? "text" : "xml",
        async: false,
        success: function(data){
                                var xml;    
                                if (typeof data == "string") {
                                   xml = new ActiveXObject("Microsoft.XMLDOM");
                                  // xml.async = false;
                                   xml.loadXML(data);
                                } else {
                                   xml = data;
                                }

                                $(xml).find("location").each(function(){
                                    var locAddress = $(this).find("city").text() + "," + $(this).find("state").text() ;
                                    var cc = $(this).find("cc").text();
                                    var bcc; 
                                    if ($(this).find("bcc")){ 
                                        bcc = $(this).find("bcc").text();
                                        }else{
                                        bcc = " - ";
                                        }
                                    var vendor =$(this).find("vendor").text();
                                    var hours = $(this).find("hours").text();
                                    var HTMLString =  "<div><h3>" + locAddress + "</h3>Vendor: " + vendor + "<br />CC#: " + cc + "<br />Bulk CC#: " + bcc + "<br />Hours: " + hours + "</div>" ;

                                    myMarkers.push({ address: locAddress, html: HTMLString});   
                                });

                                },//END SUCCSESS
        error: function(){
        },
        complete: function(){
            console.log(myMarkers);//returns correct information
            $("#map").gMap({ markers: myMarkers, address: "United States", zoom: 4 });//incomplete data and generates a is null error in firebug
        }
    });//END AJAX CALL
    });

Ответы [ 2 ]

5 голосов
/ 28 февраля 2012

Единственный раз, когда я получаю эту ошибку, это когда div на котором вы вызываете функцию map не существует на странице.

0 голосов
/ 28 февраля 2012

Эта ошибка обычно возникает, когда у вас есть ошибка javascript в вашем собственном коде.Ничего очевидного не выходит из того, что вы здесь предоставили, кроме:

var myMarkers = new Array;  

на самом деле?Должно быть либо

var myMarkers = new Array(); 

, либо (предпочтительно)

var myMarkers = [];  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...