Javascript 向信息气泡添加动态信息
我知道我的问题似乎是重复的,但事实并非如此。有不同的方法来做这件事,我喜欢我的代码。。。我的代码大部分工作正常,我只想了解infowindow内容部分,而不需要全部重写 我正在浏览一份商业清单,并在地图上标出标记。一切都很好,直到我添加了信息窗口,它在单击时打开。虽然我能够使它在正确的点旁边打开,但里面的值始终属于最新的mapmarker。我怎样才能解决这个问题Javascript 向信息气泡添加动态信息,javascript,Javascript,我知道我的问题似乎是重复的,但事实并非如此。有不同的方法来做这件事,我喜欢我的代码。。。我的代码大部分工作正常,我只想了解infowindow内容部分,而不需要全部重写 我正在浏览一份商业清单,并在地图上标出标记。一切都很好,直到我添加了信息窗口,它在单击时打开。虽然我能够使它在正确的点旁边打开,但里面的值始终属于最新的mapmarker。我怎样才能解决这个问题 for (var i = 0; i < restaurants.length; i++) { var restauran
for (var i = 0; i < restaurants.length; i++) {
var restaurant = restaurants[i];
var customlabl = (restaurant[5] != 0 ? "$"+restaurant[5] : false );
var customtitl = (restaurant[5] != 0 ? restaurant[0]+" -- "+restaurant[5] : restaurant[0]);
var infowindow = new google.maps.InfoWindow({
content: customtitl
});
var marker = new google.maps.Marker({
position: {
lat: restaurant[1],
lng: restaurant[2]
},
map: map,
title: customtitl,
label: customlabl
});
marker.addListener("click", function() {
infowindow.open(map, this);
});
bounds.extend(marker.getPosition());
}
map.fitBounds(bounds);
由于某些原因,这会破坏功能,并且信息窗口不再打开。缺少什么?内容没有在google.maps.InfoWindow中定义,而是在InfoWindowOptions对象中定义 因此,要使其工作,请尝试将其更改为以下内容:
marker.addListener("click", function() {
let infoOptions = {
content: 'hello world'
};
let infowindow = new google.maps.InfoWindow(infoOptions);
infowindow.open(map, this);
});
或
是的,谢谢,但我如何添加动态内容?当我用customtitl替换“hello world”时,我从最后一个呈现的标记中得到了一个标记。您只需在标记的事件侦听器中设置{content:this.title},就可以了。
marker.addListener("click", function() {
let infoOptions = {
content: 'hello world'
};
let infowindow = new google.maps.InfoWindow(infoOptions);
infowindow.open(map, this);
});
let infowindow = new google.maps.InfoWindow({content: 'hello world'});