无法访问数组

时间:2017-04-03 21:46:41

标签: javascript

我有一系列值:

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])展示了这一点,它显示了一个很好的价值。我的错误在哪里?

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'

});