无法在infowindow中显示内容,我正在使用谷歌地图API v3

时间:2013-02-14 02:26:51

标签: javascript google-maps-api-3 google-maps-markers infowindow

提前感谢,我现在停留在试图找出我的代码无法正常工作的那一刻,我一直在尝试使用infowindow显示最近几个小时的内容,我找不到为什么内容是没有在盒子里面显示。目前,我可以根据坐标在地图中的不同位置显示多个标记,现在我只需要在点击标记时显示内部有一些相关内容的信息窗口。我可以显示infowindow但它是空白的,它没有显示字符串。在这里我粘贴我的功能。再次感谢。

    function initialize() {

        var mapOptions = {
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            mapTypeControl: false
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
        var infowindow = new google.maps.InfoWindow(); 
        var marker, i;
        var bounds = new google.maps.LatLngBounds();

        var image = 'http://193.168.3.5/Location&Tracking/images/taxiv7_trans_small.png';

        for (i = 0; i < markers.length; i++) { 
            var pos = new google.maps.LatLng(markers[i][1], markers[i][2]);
            bounds.extend(pos);
            marker = new google.maps.Marker({
                position: pos,
                map: map,
                icon: image


            });


            function placeMarker(location) {
                var marker = new google.maps.Marker({
                    position: location,
                    map: map
                });
                var infowindow = new google.maps.InfoWindow({
                    content: 'Latitude: ' + location.lat() +
                        '<br>Longitude: ' + location.lng()
                });
                infowindow.open(map,marker);
            }


            var infowindow = new google.maps.InfoWindow({
                content:"Hello World!"
            });


            google.maps.event.addListener(marker, 'click', (function(marker, i) {
                return function() {


                    infowindow.setContent(markers[i][0]);
                    infowindow.open(map, marker);

                }
            })(marker, i));



        }
        map.fitBounds(bounds);
    }

1 个答案:

答案 0 :(得分:5)

最后我找到了解决自己问题的方法: 显示infowindow内的文本,但文本颜色为白色作为背景,它使隐形。我通过对其应用html代码并将其更改为蓝色来更改文本颜色。在给出内容时我也在重复:value和infowindow.open两次,这对于编写前一个没有任何意义。 在这里,我粘贴了更正的代码,它现在适用于我。 不管怎样,谢谢。

    function initialize() {

        //Create an object variable containing set of properties, to pass to the map
        var mapOptions = {
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            mapTypeControl: false
        };

        // Intializing map by calling constructor
        var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
        var infowindow = new google.maps.InfoWindow(); 
        var marker, i;
        var bounds = new google.maps.LatLngBounds();

       //set image to the icon marker
       var image = 'http://193.168.3.5/Location&Tracking/images/taxiv7_trans_small.png';


        for (i = 0; i < markers.length; i++) { 
            var pos = new google.maps.LatLng(markers[i][1], markers[i][2]);
            bounds.extend(pos);
            marker = new google.maps.Marker({
                position: pos,
                map: map,
                icon: image


            });



            google.maps.event.addListener(marker, 'click', (function(marker, i) {
                return function() {



           var infowindow = new google.maps.InfoWindow({
               content:'<p style="color:blue;"> This is marker No.'+markers[i][0]+'</p>'});


                    infowindow.open(map, marker);

                }
            })(marker, i));



        }
        map.fitBounds(bounds);
    }