Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图中的多个信息窗口_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图中的多个信息窗口

Javascript 谷歌地图中的多个信息窗口,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在做一个小小的phonegap+谷歌地图项目。我有一组标记,位置,放在地图上。现在我想创建信息窗口,当点击标记时弹出。使用下面的代码,它成功地为上一个生成的生成器创建了一个信息窗口,而不是上一个生成器。我有一种感觉,我正在一次又一次地重写同一个变量,但我还不是非常流利。我是否需要创建一个变量数组并将其包含在循环中 谢谢 for(var i = 0; i < locations.length; i++ ) { var myLatLng = new google.m

我正在做一个小小的phonegap+谷歌地图项目。我有一组标记,
位置
,放在地图上。现在我想创建信息窗口,当点击标记时弹出。使用下面的代码,它成功地为上一个生成的生成器创建了一个信息窗口,而不是上一个生成器。我有一种感觉,我正在一次又一次地重写同一个变量,但我还不是非常流利。我是否需要创建一个变量数组并将其包含在循环中

谢谢

for(var i = 0; i < locations.length; i++ ) {
            var myLatLng = new google.maps.LatLng(locations[i].lat_long.lat, locations[i].lat_long.lon);
            bounds.extend (myLatLng);
            var marker = new google.maps.Marker({
              position: myLatLng,
              map: map,
              title: locations[i].name,
              zIndex: i
            });
            map.fitBounds(bounds);
            var contentString = '<div id="content">'+
                    '<div id="siteNotice">'+
                    '</div>'+
                        '<h2 id="firstHeading" class="firstHeading">'+locations.name+'</h2>'+
                        '<div id="bodyContent">'+
                        '</div>'+
                '</div>';

            var infowindow = new google.maps.InfoWindow({
                content: contentString
            });
        }
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.open(map,marker);
            console.log(marker);
        });
for(变量i=0;i
算出了。做了一个函数来处理它

    for(var i = 0; i < locations.length; i++ ) {
        var myLatLng = new google.maps.LatLng(locations[i].lat_long.lat, locations[i].lat_long.lon);
        bounds.extend (myLatLng);
        var marker = new google.maps.Marker({
          position: myLatLng,
          map: map,
          title: locations[i].name,
          zIndex: i
        });
        map.fitBounds(bounds);
        buildInfoWindow(marker,map,locations[i]);
    }
for(变量i=0;i
作用

function buildInfoWindow(marker,map,locations){
    var contentString = '<div id="content">'+
                        '<div id="siteNotice">'+
                        '</div>'+
                            '<h2 id="firstHeading" class="firstHeading">'+locations.name+'</h2>'+
                            '<div id="bodyContent">'+
                            '</div>'+
                    '</div>';

    var infowindow = new google.maps.InfoWindow({
        content: contentString
    });
        google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map,marker);
        console.log(marker);
    });
}
功能构建信息窗口(标记、地图、位置){
var contentString=''+
''+
''+
''+位置。名称+''+
''+
''+
'';
var infowindow=new google.maps.infowindow({
内容:contentString
});
google.maps.event.addListener(标记'click',函数(){
信息窗口。打开(地图、标记);
控制台日志(标记器);
});
}