如何在GeoJson图层中以编程方式突出显示细分的轮廓?

时间:2016-03-28 02:46:17

标签: openlayers-3 geojson

我的地图中有一个GeoJson源图层,当鼠标因为相应的事件注册而覆盖它时,细分的轮廓将突出显示。      问题是如何以编程方式突出显示细分的轮廓(不是通过鼠标覆盖)?

1 个答案:

答案 0 :(得分:0)

您必须以编程方式找到要突出显示的功能(细分'大纲)。

我想你已经在你的代码中定义了一个源,矢量图层和叠加层(它是一个只包含突出显示的特征的图层):

source = new ol.source.Vector({
    url: '[your url]',
    format: new ol.format.GeoJSON()
    ...........

layer = new ol.layer.Vector({
    source: source
    .....................

overlay = new ol.layer.Vector({
     .........................

首先,有必要找到所有功能

var _features = source.getFeatures();

然后您需要一个名称或ID来查找该功能:

for (i = 0; i < _features.length; i++) {
            if (_features[i].get('name') === name) {
                _feature = _features[i];
                break;
            }
        }

您将该功能添加到叠加层矢量图层:

overlay.getSource().addFeature(_feature);