嗨,我有这段代码,每次选择一个选项时,都会显示一个带有信息窗口的标记。是否有任何可能的方法在信息窗口中添加图片,所以让我们说如果选项是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
将工作良好