gpt4 book ai didi

javascript - 每个标记的多标记和信息框

转载 作者:行者123 更新时间:2023-12-03 10:26:36 25 4
gpt4 key购买 nike

我尝试制作一个自定义信息框。如果我运行一个标记,它会起作用,但如果我尝试从一个 imgUr (该数组具有每个标记的坐标、名称和其他属性),而该标记有多个标记,我就无法制作这行得通。它仅显示第一个标记,没有其他标记,也没有 infobox

这是代码:

for (i = 0; i < imgAr.length; i++) {

var location = new google.maps.LatLng(imgAr[i].coords.coordinates[1],
imgAr[i].coords.coordinates[0]);

var marker = new google.maps.Marker({
position : location,
map : map,
icon : "icons/coffee1.png" ,
animation : google.maps.Animation.DROP,
infoboxIndex : i // <--- That's the extra attribute
});

var content = "<h5> Name:" + imgAr[i].name +
"<br> Description:" + imgAr[i].description +
"<br><img src='" + imgAr[i].image +
"' width='100px' height='100px'/> <h5>";

var var_infobox_props = {
content: content,
disableAutoPan: false,
maxWidth: 0,
pixelOffset: new google.maps.Size(-10, 0),
zIndex: null,
boxClass: "myInfobox",
closeBoxMargin: "2px",
closeBoxURL: "icons/close.png",
infoBoxClearance: new google.maps.Size(1, 1),
visible: true,
pane: "floatPane",
enableEventPropagation: false
};

var var_infobox = new InfoBox(var_infobox_props);

google.maps.event.addListener(marker, 'mouseover',
function(event) {
map.panTo(event.latLng);
map.setZoom(16);
infocoffee[this.infoboxIndex].open(map, this);
}
);

// Save infobox in array
infocoffee.push(var_infobox);

// Save marker in array
markers.push(marker);
}

markers.setMap(map);

什么不起作用?我该如何修复它?

最佳答案

听起来 infocoffee.push(var_infobox);markers.push(marker); 会导致错误,并且 javascript 从那里停止执行(这就是为什么你只有一个标记。)

我在 JSFiddle 上重现了它。看看the working sample ,和 the sample with error .

=-=-=- 已编辑 -=-=-=
同样的概念应该适用于信息框插件,因为它是 shown here .

关于javascript - 每个标记的多标记和信息框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29377169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com