Arrays 带有信息框的地图标记数组
我要用这个把头发拔出来。我的总体目标是显示一个信息框,它从名为store_pins的标记数组中获取信息 出于测试目的,我只是在单击其中一个地图标记时显示一个警报,该标记应显示阵列中的项目5。最后,我将显示一个包含图像和文本的信息框 我在代码的底部有一个监听器,当单击标记时,监听器就会工作。问题是我的数组中的信息没有被传递,我得到的不是文本,而是警报中显示的[object] 如果有任何关于我错在哪里的线索,我将不胜感激Arrays 带有信息框的地图标记数组,arrays,api,google-maps,infobox,Arrays,Api,Google Maps,Infobox,我要用这个把头发拔出来。我的总体目标是显示一个信息框,它从名为store_pins的标记数组中获取信息 出于测试目的,我只是在单击其中一个地图标记时显示一个警报,该标记应显示阵列中的项目5。最后,我将显示一个包含图像和文本的信息框 我在代码的底部有一个监听器,当单击标记时,监听器就会工作。问题是我的数组中的信息没有被传递,我得到的不是文本,而是警报中显示的[object] 如果有任何关于我错在哪里的线索,我将不胜感激 var映射; var pop_up_info=“边框:0px纯黑色;背景色
var映射;
var pop_up_info=“边框:0px纯黑色;背景色:ffffff;填充:15px;边距顶部:8px;边框半径:10px;-moz边框半径:10px;-webkit边框半径:10px;方框阴影:1px 1px#888;”;
google.maps.event.addDomListener(窗口“加载”,初始化);
函数初始化(){
var map_center=new google.maps.LatLng(55.144178,-2.254122);
var store_pins=新数组();
var pin_marker=新数组();
存储_引脚=[
['Bellingham Co-Op',55.144178,-2.254122,'pin','Bellingham Coop.jpg','Staff at Bellingham Co-Op'],
[“莱斯特老虎队-金斯顿公园”,55.018754,-1.672230,“橄榄球队”,“金帕克老虎队.jpg”,“斯图与莱斯特老虎队橄榄球队”],
['The Hawick PSA Team',55.421825,-2.797123,'rugby','hawickpsa.jpg','The Hawick PSA Team']//记住最后一个条目上没有逗号!!!
];
变量myOptions={
缩放:3,
minZoom:3,
中心:地图中心,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“trackingT-map”),myOptions);
//主回路
对于(i=0;i当您调用alert(descr)
时,它试图打印对象本身而不是您想要的信息。您应该将descr=store_pins[i][5];
移动到您的pin_marker[i]选项块中:
pin_marker[i] = new google.maps.Marker(
{
position: pos,
map: map,
title: store_pins[i][0],
icon: pinIcon,
shape: pinShape,
zIndex: 107
descr: store_pins[i][5] //add it here
}
);
然后,在onclick侦听器中,您可以像这样打印信息:
google.maps.event.addListener(pin_marker[i], 'click', function() {
alert(this.descr);
});
非常感谢您的回复。我现在在descr=store_pins[I][5]行收到一个“意外标识符”错误;很抱歉,那里不应该有分号。现在编辑代码。如果解决了,该行应该是:descr:store_pins[I][5]因此,要传递一个变量,我必须将它包含在标记本身中?我认为这是一种方法,之前您试图设置descr变量,而程序无法再次引用它。将它放入标记本身只会让您方便地访问该信息。这是一种新的方法,但喜欢它的组合方式,一旦akes sense!非常感谢您的投入!