我有一个数组“markerGroups”定义如下:
var markerGroups = {"foo": [], "bar": [], "foobar": []};
此数组用于存储Google地图中的所有标记。如您所见,我有三个类别,我存储标记。一个标记只存在于一个类别中,并且永远不会存在于任何其他类别中。 每个标记也由唯一ID标识,例如ID可以是1422。
现在我想以这样一种方式将标记添加到该组中,例如我可以通过这样做来实现
console.log(markerGroups.foo[1422]);
即使那是该类别中唯一的标记。我还必须能够完全从类别中删除它。
我试图通过定义这样的markerGroup来实现这一目标:
var markerGroups = {"foo": {}, "bar": {}, "foobar": {}};
此行在一个函数中,标记被定义为标记,类别被传递到函数中,告诉函数存储标记的位置。
markerGroups[category][marker.ID] = marker;
除了标记现在不会出现在我的地图中之外,这种方法非常出色。
任何想法为什么或如何以更好的方式做到这一点?
答案 0 :(得分:1)
标记是简单的JS对象,可以像任何JS对象一样进行操作。
如果在地图上显示标记,唯一可以控制的方法是通过它的setMap()函数。因此,请查看您的代码,看看是否为要在地图上显示的标记调用setMap(your_map)。另外请记住,为了显示标记,必须设置一些属性(例如位置)。
所以,不要担心简单的JS对象操作,只要它被正确初始化,它就不会与Marker可见性交互。
当然,这是一个理论观点,如果你已经完成了所有这些并且它仍然不起作用,你必须提供一些额外的细节和代码。