Infowindow в Googlemaps не будет заполнять - PullRequest
0 голосов
/ 30 июля 2010

У меня следующая проблема с Googlemaps.

Я создал функцию createMarker, которая возвращает маркер, который я публикую с addOverlay().Это прекрасно работает, маркер отображается, но единственной проблемой является событие click для маркера, я хочу информационное окно, которое заполняется текстом «Я хочу опубликовать этот текст», вместо этого оно заполняется переменной с именем htmlЯ установил в начале моего кода (var html = 'test';), я получил ранее сообщение с «html не определен», поэтому установлен html var.Каждое информационное окно содержит текст «тест».Я пытался использовать updateInfoWindow(), но это не работает, кто-нибудь знаком с этой проблемой?Я могу предоставить вам полный исходный код, но я думаю, что функции createMarker должно быть достаточно.

function GM_load() {
   map = new GMap2(document.getElementById("map"));
   map.addControl(new GSmallMapControl());
   map.addControl(new GMapTypeControl());
   map.enableScrollWheelZoom(); 
   map.setMapType(G_HYBRID_MAP);
   geocoder = new GClientGeocoder(); 
   GM_showItems();
}    


function GM_showItems() {
   GDownloadUrl("modules/Googlemaps/ajax/getItems.php", function(data, responseCode) {
        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {


            //start 
            var itemid = markers[i].getAttribute('id');
            var title = markers[i].getAttribute('name');
            var address = markers[i].getAttribute('address');
            var city = markers[i].getAttribute('city');
            var x = 0;
            if (geocoder) {

                geocoder.getLatLng(address + ' ' + city,
                    function(point) {
                        if (!point) {
                            alert(address + ' ' + city + " not found");
                        } else {
                            x = x+1;
                            Marker = createMarker(point, x);
                            map.addOverlay(Marker);
                        }
                    }
                );
            }

        }

    });
}




function createMarker(latlng, number) {
    var marker = new GMarker(latlng);
    marker.value = number;
    GEvent.addListener(marker,"click", function() {
        map.openInfoWindowHtml(latlng,'i want this text to be published');
    });

    return marker;
}

1 Ответ

0 голосов
/ 30 июля 2010

решаемая.

Я перезаписываю var html.не идеально, но это работает.

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