在Google地图中对行和其他元素进行分组(JavaScript V3 API)

时间:2011-07-16 12:50:11

标签: javascript google-maps google-maps-api-3

我是谷歌地图新手,所以我很可能错过了一些非常基本的东西。我想将几行,路点,位置......逻辑地组合在一起,以便我可以立即打开/关闭它们。我认为这是一个图层或叠加层,但我仍然对这种差异感到困惑。

在Playground我发现traffic overlay example基本上就是我想做的事情。但是什么样的叠加层适合我?如何将线条绘制到特定的叠加层?

类似的问题Google Maps marker grouping正在通过标记上的类别进行此操作,并且或多或少地通过它们进行迭代来切换 他们开/关 - 有没有更简单的方法?

当然,我可以将一个组的所有元素(行,标记)保存在一个数组中,这个数组将代表我的逻辑组。这是正确的方法吗?

var path = waypointsToLatLngPath(myWaypoints); // generate path from waypoint
var line = new google.maps.Polyline({
    path: path,
    strokeColor: '#ff0000',
    strokeOpacity: 1.0,
    strokeWeight: 1
});
line.setMap(map);

1 个答案:

答案 0 :(得分:0)

正如Google Maps API v3: How to remove all markers?和上面的评论中所述,使用V3时,正确的方法似乎是保留叠加元素的数组,并通过将map设置为null来删除它们。

我已经写了一个JS“类”来包装这些方面,所以我可以轻松打开/关闭所有叠加。在V2中有map.clearOverlays(),但这似乎消失了。