Google Maps GEOJSON GeometryCollection仅显示一个几何体

时间:2018-04-11 11:38:14

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

在我的GEOJSON数据层中,我有一组约20个区域。每个要素都有一个带有两个几何的GeometryCollection:一个用于定义区域的多边形和一个用于给出该区域中心的Point。

我希望多边形不可见,但要将地图上的点显示为标记。

此外,我希望能够根据缩放级别将区域标记设置为可见或不可见。

是否可以仅显示地图上的点,并将它们设置为与多边形分开的可见/不可见?我知道我可以将它们作为标记添加到地图中,例如。

new google.maps.Marker(etc)

但理想情况下我想使用股票数据层,这样我就可以关闭和打开标记,而无需循环遍历数组。

1 个答案:

答案 0 :(得分:0)

GEOJson基本上是一个“特征集合”,这意味着它可以包含各种特征(和特征类型:点,多点,多边形等)。

在您的使用案例中,您可以将多边形和点作为单独的功能。然后,您可以分别对每个功能执行各种操作。您可以删除某个功能,也可以覆盖其样式。

您可以使用map.data.getFeatureById('your_feature_id');,然后使用the available methods数据层之一,例如removeoverrideStyle

例如,请查看this fiddle,其中演示了如何向数据层添加几个点(MultiPoint)和多边形,然后隐藏/仅显示一个功能。

希望这有帮助。