我已经测试了大约1个小时。但是由于某种原因,我无法使每个标记显示另一个信息窗口文本。
单击它们中的每一个,将打开一个新的信息窗口(将关闭旧的信息窗口,这很好),但是窗口内的文本始终是我在最后一个标记中设置的文本:

function initialize() {
    var center = new google.maps.LatLng(51.133333,10.416667);
    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 6,
      center: center,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    var markers = [];

    for (var i = 0, dataPhoto; dataPhoto = data.photos[i]; i++) {
      var latLng = new google.maps.LatLng(dataPhoto.latitude,
                   dataPhoto.longitude);
      var marker = new google.maps.Marker({
        position: latLng,
        title: dataPhoto.infotitle,
        map: map,
      });

      /* Create Info Windows */

      var infowindow = new google.maps.InfoWindow({
        content: " "
      });
      google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent('<h3>'+marker.title+'</h3>'+' Infotext');
        infowindow.open(map, this);
      });
      markers.push(marker);
    }
    var markerCluster = new MarkerClusterer(map, markers);
}

我一直在这里看到一些解决方案,但似乎没有一个适合我。
非常感谢您的帮助!

参见online demo

最佳答案

您只需将“内容”设置为this.title,而不是marker.title

infowindow.setContent('<h3>'+this.title+'</h3>'+' Infotext');

谢谢
dz46

关于google-maps-api-3 - Google Maps v3中的多个标记InfoWindow,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4922802/

10-10 20:15