0

现在显然,如果我只是以正常方式添加它们,我只会将它们保存在一个数组中,但在我的情况下,标记正在被加载,但我使用的是 KML 层。

因此,在 KML 加载和标记出现之后,我基本上只想知道有多少,我可以为此找出一些愚蠢的 hack(用 jQuery 再次加载 KML 文件并在那里计算它或其他东西),但理想情况下我只是想要类似myArray = map.getMarkers()or的东西myArray = map.getOverlays(),这样的东西存在吗?

这似乎是一项简单的任务,而不是为什么我要花这么长时间才能找到答案。也许这是不可能的?

4

3 回答 3

1

没有这样的事情,您必须保留一个数组并在每次插入时添加对象 ID。

于 2013-07-27T04:54:51.717 回答
1

我不确定在使用 KLM 图层添加标记后是否能够访问这些标记。如果您没有那么多标记,那么我会说使用常规 Marker 类加载它们。

也许我做得不对,但上次我尝试使用 KLM 图层实现标记时,我无法向它们添加任何事件,或者根本无法访问它们。

如果您只需要计算它们,那么我会说使用 AJAX 加载相同的 KML 文件,并将其解析为 XML,您可以从那里获取元素来计算它们。

于 2013-07-27T05:30:11.273 回答
1

您无法访问 KmlLayer 中的标记(它由 Google 的服务器呈现为地图图块)。您可以使用FusionTableLayer(您可以将 KML 导入 FusionTable,然后修改对该 FusionTable 的查询以过滤标记)或第三方 KML 解析器,如geoxml3geoxml-v3(使用本机 Google Maps v3 对象呈现 KML) .

使用 geoxml3 的示例

使用 FusionTables 的示例

于 2013-07-27T12:01:30.260 回答