我有一个二维javascript数组,需要从包含街道地址的一维数组的条目中获取它的第一个列数据([j][0])
。
组合字符串取自PHP在前一个函数中插入的DOM。然后将字符串拆分为一维数组,其中包含我想在Google地图上显示的所有街道地址。名为“markers”的二维数组将由Google Maps javascript API使用。
该数组包含与街道地址和三列相同的行数:第一个用于街道地址,第二个用于纬度,第三个用于经度。
所以这是我的问题:由于谷歌地图没有在地图上显示任何地图标记,我试图通过在for循环中添加alert("markers[j][0]: " + markers[j][0]);
来调试代码,以便查看循环的每一行(每个街道地址)。
第一个条目(markers[0][0])
正确显示,但第二个条目(markers[1][0]
根本没有提醒浏览器。我怀疑错误/问题是在循环中的alert("j: " + j);
之后,因为在此循环之后其余的javascript程序根本没有运行。 (在这个循环后我有一些警告和一些代码来渲染地图,但它没有运行)。
这是我的代码,其中包含错误。请帮助,因为我现在试图解决这个问题两天了,这让我疯了。
if(document.getElementById('address-target'))
{
var div = document.getElementById("address-target");
LocationAddressesCombined = div.textContent;
alert("Location addresses combined: " + LocationAddressesCombined);
}
var LocationAddresses = LocationAddressesCombined.split(',');
alert("LocationAddresses[0]: " + LocationAddresses[0]);
alert("LocationAddresses[1]: " + LocationAddresses[1]);
var MarkersColumns = ["",0,0];
var markers = [[MarkersColumns]];
alert("LocationAdresses.length" + LocationAddresses.length);
var j;
//Loop through the "markers" array entries and assign to them the location addresses.
for (j=0; j < LocationAddresses.length; j++)
{
alert("j: " + j);
markers[j][0] = LocationAddresses[j];
alert("markers[j][0]: " + markers[j][0]);
}
答案 0 :(得分:0)
在将某些内容放入其中的第0个元素之前,您的markers[j]
必须是一个数组。试试这个:
markers[j] = [];
markers[j][0] = LocationAddresses[j];
顺便说一下,我不确定你打算用这些方法完成什么:
var MarkersColumns = ["",0,0];
var markers = [[MarkersColumns]];
...但实际上设置了一个三维数组,markers[0][0][0]
为""
,markers[0][0][1]
为0
,markers[0][0][2]
为{{ 1}}。