向 Google 地图添加信息框?
Adding an Infobox to GoogleMaps?
我正在尝试将信息框添加到 Google 地图上的多个图钉。
我已经让信息框工作了 - JSfiddle。
但我现在更改了代码以包含下拉菜单。我试图再次添加信息框,但它不起作用,我不明白为什么它不起作用。 JSfiddle。
我已经复制并粘贴了信息框的代码,检查了变量名称是否仍然匹配,代码的顺序是否相同。
以下代码是将标记添加到地图的地方,我正在尝试添加一个信息框。函数 addMarker 位于我的初始化函数中。 var infowindow 位于初始化函数下方。
function addMarker(feature) {
var marker = new google.maps.Marker({
position: feature.position,
icon: feature.icon,
map: map,
size: 20,
title: name,
draggable: false,
//animation: google.maps.Animation.DROP
});
google.maps.event.addListener(marker, 'click', (function (marker) {return function () {
var Infocontent = feature.desc;
infowindow.setContent(Infocontent);
infowindow.open(map, marker); //'mouseover'
}
})(marker));
}
var infowindow = new google.maps.InfoWindow();
有人可以告诉我哪里做错了吗?
我刚刚通过创建新的 fiddle 更新了您的代码,现在它显示了信息窗口。我只是在侦听器定义中移动了您的信息窗口代码。
请检查
google.maps.event.addListener(marker, 'click', (function (marker) {return function () {
console.log('called');
var Infocontent = feature.desc;
infowindow = new google.maps.InfoWindow();
infowindow.setContent(Infocontent);
infowindow.open(map, marker); //'mouseover'
}
})(marker));
我正在尝试将信息框添加到 Google 地图上的多个图钉。
我已经让信息框工作了 - JSfiddle。
但我现在更改了代码以包含下拉菜单。我试图再次添加信息框,但它不起作用,我不明白为什么它不起作用。 JSfiddle。 我已经复制并粘贴了信息框的代码,检查了变量名称是否仍然匹配,代码的顺序是否相同。
以下代码是将标记添加到地图的地方,我正在尝试添加一个信息框。函数 addMarker 位于我的初始化函数中。 var infowindow 位于初始化函数下方。
function addMarker(feature) {
var marker = new google.maps.Marker({
position: feature.position,
icon: feature.icon,
map: map,
size: 20,
title: name,
draggable: false,
//animation: google.maps.Animation.DROP
});
google.maps.event.addListener(marker, 'click', (function (marker) {return function () {
var Infocontent = feature.desc;
infowindow.setContent(Infocontent);
infowindow.open(map, marker); //'mouseover'
}
})(marker));
}
var infowindow = new google.maps.InfoWindow();
有人可以告诉我哪里做错了吗?
我刚刚通过创建新的 fiddle 更新了您的代码,现在它显示了信息窗口。我只是在侦听器定义中移动了您的信息窗口代码。 请检查
google.maps.event.addListener(marker, 'click', (function (marker) {return function () {
console.log('called');
var Infocontent = feature.desc;
infowindow = new google.maps.InfoWindow();
infowindow.setContent(Infocontent);
infowindow.open(map, marker); //'mouseover'
}
})(marker));