Openlayers 3 - MultiPoint功能

时间:2016-12-21 07:01:03

标签: javascript gis openlayers-3 geojson multipoint

我有一个带有以下geo json的MultiPoint功能。

{
    "type": "Feature",
    "geometry": {
        "type": "MultiPoint",
        "coordinates": [
            [
                -123,
                58
            ],
            [
                -152.32,
                17.5
            ],
            [
                52.02,
                42.64
            ]
        ]
    }
}

当我在地图上绘制并通过样式函数应用任何图标时,它会应用于所有点。但我想在地图上显示上面的所有3个坐标和不同的图标。有什么办法可以为多点功能中的每个坐标添加不同的标记吗?

1 个答案:

答案 0 :(得分:0)

要在MultiPoint中为不同坐标应用不同的样式,需要为每个坐标编写不同的样式。我在plunker中创建了一个视图。浏览此link

中的代码
new ol.style.Style({
    image: new ol.style.Circle({
      radius: 5,
      fill: new ol.style.Fill({
        color: 'orange'
      })
    }),
    geometry: function(feature) {
      var coordinates = feature.getGeometry().getCoordinates();
      return new ol.geom.Point(coordinates[0]);
    }
  })

在几何函数中考虑单个坐标并为其应用样式。

注意:如果MultiPoint的点数更多,代码就会膨胀。