在信息窗口中分配图像,并根据选项开关显示它们



嗨,我有这段代码,每次选择一个选项时,都会显示一个带有信息窗口的标记。是否有任何可能的方法在信息窗口中添加图片,所以让我们说如果选项是sunny,那么sun.jpg将显示在信息窗口中,以此类推其余2个选项。此时"hi"显示在信息窗口

function dropweather()
{
 var  themarker;
var contentString = 'hi';
var infowindow = new google.maps.InfoWindow({
  content: contentString
 });
var lat = prompt ('Latitude'); var lng = prompt('Longitude');
switch(document.getElementById('weatherkind').value)
  {
    case 'sunny':
      themarker =  new google.maps.Marker({
            position: new google.maps.LatLng(lat,lng),
            map:map
        });
        break;
     case 'rainy':
       themarker= new google.maps.Marker({
            position: new google.maps.LatLng(lat,lng),
            map:map
        });
        break;
         case 'cloudy':
     themarker=   new google.maps.Marker({
            position: new google.maps.LatLng(lat,lng),
            map:map

        });
        break;
  }
google.maps.event.addListener(themarker, 'click', function() {
infowindow.open(map,themarker);
infowindow.setContent(this.html);
 });
 }
      google.maps.event.addDomListener(window,'load',initialize);

我在你的代码中找不到marker的引用。

所以尝试

google.maps.event.addListener(marker, 'click', function() {
 infowindow.setContent(html);
 infowindow.open(map, this); //this refers to the marker that is clicked
});

如果你有一个变量var marker

指的是像

这样的有效标记。
var marker = new google.maps.Marker({
        position: new google.maps.LatLng(lat,lng),
        map:map
    });

,那么你的代码将工作,如果没有作用域问题。这是不需要的,因为this将工作良好

最新更新