如何在View OpenLayers3中检测每一层

时间:2016-04-04 15:44:47

标签: openlayers-3

我正在尝试检测地图视图中看到的所有图层(OpenLayers 3)。 我尝试过这种方法,但它只适用于像素。

map.forEachLayerAtPixel(evt.pixel, function(layer){ 
       // And I edit the layer...
    });

是否有任何功能可以让我这样做?

感谢。

1 个答案:

答案 0 :(得分:0)

您应该能够遍历图层并检查范围是否与视图范围相交。这至少可以让您获得当前视图中包含一些像素的图层。

<div class="form-group">
    <label class="col-md-4 control-label" for="service_status">Service Status</label>
    <div class="col-md-4">
      <select id="service_status" name="service_status" class="form-control">
        <option value="Pending" {{ $job_account_detail->service_status=="Pending" ? "selected" : ''}}>Pending</option>
        <option value="Running" {{ $job_account_detail->service_status=="Running" ? "selected" : ''}}>Running</option>
        <option value="Completed" {{ $job_account_detail->service_status=="Completed" ? "selected" : ''}}>Completed</option>
      </select>
    </div>
  </div>

我不确定你是如何判断一个图层实际对用户是否可见,但这可能会让你更接近。