现在很明显,如果我只是以正常方式添加它们,我会将它们保存在一个数组中,但在我的情况下,标记正在加载,但我使用的是KML图层。
所以在KML加载并且标记显示之后我基本上只想知道有多少,我可以找出一些愚蠢的黑客(用jQuery再次加载KML文件并在那里计算它),但理想情况下,我只想要myArray = map.getMarkers()
或myArray = map.getOverlays()
之类的东西,是否存在类似的东西?
这似乎是一项如此简单的任务,而不是为什么我花了这么长时间才找到答案。也许这是不可能的?
答案 0 :(得分:1)
没有这样的事情,你必须保留一个数组并在每次插入时添加对象ID。
答案 1 :(得分:1)
在使用KLM图层添加标记后,我不确定您是否能够访问这些标记。如果您没有那么多标记,那么我会说使用常规标记类加载它们。
也许我做得不对,但上次我尝试使用KLM图层实现标记时,我无法向它们添加任何事件,或者根本无法访问它们。
如果您只需要计算它们,那么我会说使用AJAX加载相同的KML文件,并将其解析为XML,您可以从那里获取元素来计算它们。
答案 2 :(得分:1)
您无法访问KmlLayer中的标记(Google服务器将其渲染为地图图块)。您可以使用FusionTableLayer(您可以将KML导入FusionTable,然后将查询修改为FusionTable以过滤标记)或第三方KML解析器,如geoxml3或geoxml-v3(其中使用原生Google Maps v3对象渲染KML。