打开图层3 - 从矢量数据

时间:2016-04-29 08:26:09

标签: jquery openlayers-3

OpenLayers 3具有强大的拖放功能。这个例子在这里给出:

http://openlayers.org/en/master/examples/drag-and-drop.html

在拖放的事件处理程序中,您可以访问已拖入的矢量图层(vectorSource):

dragAndDropInteraction.on('addfeatures', function(event) {
    var vectorSource = new ol.source.Vector({
      features: event.features
    });
    map.addLayer(new ol.layer.Vector({
      source: vectorSource,
      style: styleFunction
    }));
    map.getView().fit(
        vectorSource.getExtent(), /** @type {ol.Size} */ (map.getSize()));
  });

这里可以看到vectorSource是从event.features创建的,但我无法找到一种方法来判断被放入地图的矢量是否为多边形点类型

我的问题是,有没有办法告诉数据的矢量类型是什么?

console.log(event.features);显示其中有一个几何术语,但我不确定这是如何可靠地为我提供数据类型。

我需要知道我的图层管理工具,以便我可以正确地表示矢量图层。

我试过了:

event.features[0].getGeometry();
event.features[0].getGeometryName();

似乎都没有提供我需要的信息。

1 个答案:

答案 0 :(得分:1)

如果您有一个功能,则可以检索其几何图形,然后检索其类型:

feature.getGeometry().getType()
  

几何类型。其中一个是Point',' LineString',' LinearRing',   ' Polygon',' MultiPoint',' MultiLineString',' MultiPolygon',   ' GeometryCollection',' Circle'。

参考:http://openlayers.org/en/v3.0.0/apidoc/ol.geom.html#GeometryType