在信息窗口中分配图像,并显示有关选项开关的图像

时间:2014-03-14 16:36:23

标签: javascript switch-statement infowindow marker

嗨我有这个代码,每当选择一个选项时,它会显示带有信息窗口的标记。是否有任何可能的方法在信息窗口中添加图片,所以我们可以说,如果选项是晴天,sun.jpg会显示在信息窗口中,依此类推其他2个选项。当下' hi&#39 ;显示在信息窗口中。

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);

1 个答案:

答案 0 :(得分:1)

我无法在您的代码中的任何位置找到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可以正常工作所以不需要它