1

在此先感谢,我现在正试图弄清楚为什么我的代码不能正常工作,过去几个小时我一直在尝试使用 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);
    }
4

1 回答 1

5

最后我找到了解决我自己问题的方法:显示信息窗口内的文本,但文本颜色为白色作为背景,使其不可见。我通过应用 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);
    }
于 2013-02-14T14:15:58.360 回答