我有一系列值:
var info_tab = [
["Aaaa", 53.12040528310657, 23.258056640625,1,ikona3],
["Bbbb", 53.09402405506325, 18.0010986328125,2,ikona2],
];
我在函数中使用它来将值作为参数传递问题出在本节中:label: info_tab[i][1]
:
var markers = locations.map(function(location, i) {
return new google.maps.Marker({
position: location,
icon: ikona2,
label: info_tab[i][1]
});
});
我收到错误:
未捕获的TypeError:无法读取未定义的属性“1”。
但是,我通过window.alert(info_tab[i][1])
展示了这一点,它显示了一个很好的价值。我的错误在哪里?
答案 0 :(得分:0)
您的功能会使用53.12040528310657或53.09402405506325为标记添加标签。标签必须是一个字符串。
要将数字转换为字符串,请使用info_tab[i][1].toString()
标记标签是出现在标记内的字母或数字。此部分中的标记图像显示带有字母' B'的标记标签。在上面。您可以将标记标签指定为字符串或包含字符串和其他标签属性的MarkerLabel对象。
var info_tab = [
["Aaaa", 53.12040528310657, 23.258056640625,1,'icon1'],
["Bbbb", 53.09402405506325, 18.0010986328125,2,'icon12'],
];
var locations = [
{lat: -25.363, lng: 131.044},
{lat: -25.363, lng: 131.044},
]
var markers = locations.map(function(location, i) {
var label = info_tab[i][1];
console.log(label.toString()); // '53.12040528310657'
});