Объект не имеет метода

#javascript #google-maps-api-3

#javascript #google-maps-api-3

Вопрос:

Я использую следующий класс JS, http://google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.9/docs/examples.html .

Я застрял в этом поиске в течение длительного времени, пытаясь отладить это, и я понятия не имею, что происходит. Примеры ребят работают, я не понимаю, почему я получаю эту ошибку, которая заключается в том, что Object #InfoBox не имеет метода ‘open’.

Мой код:

 <script type="text/javascript">
var map;
$(document).ready(function(){   
    var latlng = new google.maps.LatLng(43.7620078,-79.5044951);
    var myOptions = {
        zoom: 12,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    var labelText = "City Hall";
    var myOptions2 = {
        content: labelText,
        boxStyle: {
            border: "1px solid black",
            textAlign: "center",
            fontSize: "8pt",
            width: "50px"
        },
        disableAutoPan: true,
        pixelOffset: new google.maps.Size(-25, 0),
        position: latlng,
        closeBoxURL: "",
        isHidden: false,
        pane: "mapPane",
        enableEventPropagation: true
    };

    var ibLabel = new InfoBox(myOptions2);
    ibLabel.open(map);      
});
</script>
 

Обновление:
Я нашел решение в Интернете. Я загружал файл javascript InfoBox перед API карт Google.

Первая загрузка API карт Google решила все проблемы.

Комментарии:

1. Это довольно странно. Возможно ли, что какая-то другая библиотека, которую вы включаете, определяет конфликтующий конструктор для типа ‘InfoBox’?

2. Я обновил исходное сообщение о том, в чем заключалась проблема. Я рад, что это наконец решено.

3. @Marcin Вы должны ответить на свой вопрос ниже, чтобы было ясно, каково решение.