Google Maps проблема с массивом openInfoWindowHTML - PullRequest
1 голос
/ 07 апреля 2010

Может кто-нибудь помочь объяснить, почему я не могу заставить это работать?Я правильно генерирую все местоположения, однако он не генерирует информационные поля.Почему это так, и может ли кто-нибудь помочь мне с этим?

            var map = new GMap2(document.getElementById("map"));
            map.addControl(new GSmallMapControl());
            map.addControl(new GMapTypeControl());
            map.setCenter(new GLatLng(47.6062, -122.3321), 8);
            var wa_locations = new Array(new Array("Seattle", "47.6062", "-122.3321", "###-###-####", "###-###-####"),
                                         new Array("Bellevue", "47.6104", "-122.2007", "###-###-####", "###-###-####"),
                                         new Array("Tacoma", "47.2529", "-122.4443", "###-###-####", "###-###-####"),
                                         new Array("Everett", "47.9790", "-122.2021", "###-###-####", "###-###-####"));
            for(var i = 0; i < wa_locations.length; i++)
            {
                var point = new GLatLng(wa_locations[i][1], wa_locations[i][2]);
                map.addOverlay(new GMarker(point)); 
                GEvent.addListener(point, "click", function()
                {
                    point.openInfoWindowHtml("<b>" + wa_locations[i][0] + "</b><br/>Sales: " + wa_locations[i][3] +  "<br/>Helpdesk: " + wa_locations[i][4] +  "");
                });                     
            }   

1 Ответ

3 голосов
/ 07 апреля 2010

Вы добавляете слушателя к своей точке, а не к маркеру. Кроме того, из вашего комментария видно, что у вас есть проблема закрытия JavaScript. Вы можете избежать слушателя и закрытия, используя bindInfoWindowHtml . Вот последняя часть, настроенная для использования маркера и bindInfoWindowHtml:

        for(var i = 0; i < wa_locations.length; i++)
        {
            var point = new GLatLng(wa_locations[i][1], wa_locations[i][2]);
            var marker = new GMarker(point);
            marker.bindInfoWindowHtml("<b>" + wa_locations[i][0] + "</b><br/>Sales: " + wa_locations[i][3] +  "<br/>Helpdesk: " + wa_locations[i][4] +  "");
            map.addOverlay(marker); 
        }   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...