如何在javascript中为google地图标记数组赋值
我试图在下面的javascript函数中为标记分配一个数组。它不适用于push,也不适用于注释掉的语句。我不确定是否允许贴图标记具有数组。marker.mycategory工作正常,只有数组不工作如何在javascript中为google地图标记数组赋值,javascript,arrays,google-maps,google-maps-api-3,Javascript,Arrays,Google Maps,Google Maps Api 3,我试图在下面的javascript函数中为标记分配一个数组。它不适用于push,也不适用于注释掉的语句。我不确定是否允许贴图标记具有数组。marker.mycategory工作正常,只有数组不工作 function createMarker(latlng, name, html, category, animals) { var markerImg = setMarker(category); var contentString = html; v
function createMarker(latlng, name, html, category, animals)
{
var markerImg = setMarker(category);
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: name,
icon: markerImg,
});
for (var i = 0; i < animals.length; i++)
marker.myanimals.push(animals[i]);
//marker.myanimals[i] = animals[i];
marker.mycategory = category;
marker.myname = name;
gmarkers.push(marker);
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(contentString);
infowindow.open(map,marker);
});
} // end createMarker()
函数createMarker(latlng、名称、html、类别、动物)
{
var markerImg=设置标记(类别);
var contentString=html;
var marker=new google.maps.marker({
位置:latlng,
地图:地图,
标题:姓名,
图标:markerImg,
});
对于(变量i=0;i
感谢您在这方面的帮助。添加一个
marker.myanimals=[]在for循环之前,代码>比它应该工作的要多扩展,因此最好使用MVCObject
的方法
而不是:
for (var i = 0; i < animals.length; i++)
marker.myanimals.push(animals[i]);
//marker.myanimals[i] = animals[i];
marker.mycategory = category;
marker.myname = name;
要访问属性,请使用get
方法(例如marker.get('mycategory')
)
marker.setValues({
mycategory : category,
myname : name,
myanimals : JSON.parse(JSON.stringify(animals)) //Deep copy of 'animals' array
});