我之前已经问过类似的问题,但是我找不到一个谈论带有信息窗口的多个标记和不同的针脚的问题。我已成功使用信息窗口创建多个标记,但我希望那些标记根据其类型将存储在数组中不同的引脚< / em>以及位置等。这是我的代码
var iconBase = "http://labs.google.com/ridefinder/images/";
var icons = {
test1: {
icon: iconBase + "mm_20_purple.png"
},
test2: {
icon: iconBase + "mm_20_yellow.png"
},
test3: {
icon: iconBase + "mm_20_green.png"
}
};
function LoadMap() {
for (var i = 0; i < markers.length; i++) {
var data = markers[i];
var myLatlng = new google.maps.LatLng(data.lat, data.lng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: data.title,
// Icon markers called here!
icon: icons[markers.type].icon
// =========================
});
}
您可以找到代码here的完整工作版本。目前唯一不起作用的是没有被渲染的针脚。
提前感谢您的协助!
答案 0 :(得分:2)
你必须改变
icon: icons[markers.type].icon
要:
icon: icons[data.type].icon
或icon: icons[markers[i].type].icon
(两者均适用于您的情况)
那是因为markers.type
不存在。但是您已声明var data = markers[i];
,因此循环中的实际标记将保存在data
变量上。