如何在javascript中为谷歌地图标记数组赋值
How to assign value to google map marker array in javascript
我正在尝试将数组分配给下面的javascript函数中的标记。 它不适用于推送或注释掉的语句。 我不确定地图标记是否允许具有数组。 marker.mycategory 工作正常,只是数组不起作用。
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()
感谢您对此的任何帮助。
google.maps.Marker扩展google.maps.MVCObject,所以你使用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;
用:
marker.setValues({
mycategory : category,
myname : name,
myanimals : JSON.parse(JSON.stringify(animals)) //Deep copy of 'animals' array
});
要访问财产,请使用get
方法(例如 marker.get('mycategory')
)。
在你的 for 循环之前添加一个marker.myanimals = [];
,那么它应该可以工作
相关文章:
- 如何更改角度谷歌地图上的集群图标
- 谷歌地图API-显示具有不同图标的标记
- 谷歌地图-更改图层图标大小
- 在地图加载/页面加载时,我想将地图设置为当前地理位置,但不想在地图上显示定位图标
- 将图标作为参数传递不会;t工作-谷歌地图
- 谷歌地图隐藏手图标
- 从谷歌地图信息窗口中删除关闭图标
- 在javascript中设置谷歌地图标记图标属性
- 我是否可以在单击特定图标时更改地图标记图标,然后在单击另一个图标时切换,等等
- 我如何才能在某些条件下更改c#中谷歌地图标记的图标
- 使用HTML元素代替gmap3的地图标记图标
- 谷歌地图标记图标作为变量
- 我如何使谷歌地图不更改标记的自定义图标大小
- 饼图而不是谷歌地图中的标记集群图标
- 如何在谷歌地图上放置图标标记,图标数量是否有配额
- 可拖动图标未显示在 Google 地图顶部且不重复
- 谷歌地图v3更改标记图标在安卓网络视图
- AngularJS谷歌地图(ng-map)图标网址不起作用
- 带有群集和过滤器复选框的地图框个性化图标
- 添加 removeMarker 函数时,每 5 秒在地图上加载一次图钉不会显示图标