OpenLayer功能中属性“population”的目的是什么?

时间:2016-09-08 01:09:01

标签: javascript openlayers-3

功能使用情况example中,有2个名为populationrainfall的属性。

...
var iconFeature = new ol.Feature({
    geometry: new ol.geom.Point([0, 0]),
    name: 'Null Island',
    population: 4000,
    rainfall: 500
});
...

这意味着什么?我四处搜索,没有找到任何信息。

2 个答案:

答案 0 :(得分:2)

这是一个将通用属性添加到您可以在其他地方使用的功能的示例。这个例子并没有让它变得非常明显。在该示例中,您可以添加另一个名为“numberOfDonkeys”的属性,其值为20,然后您可以在触发弹出窗口的单击事件中使用该属性。

例如,我可以将功能更改为此。

var iconFeature = new ol.Feature({
  geometry: new ol.geom.Point([0, 0]),
  name: 'Null Island',
  population: 4000,
  rainfall: 500,
  numberOfDonkeys: 20
});

并将地图点击事件更改为此。

// display popup on click
map.on('click', function(evt) {
  var feature = map.forEachFeatureAtPixel(evt.pixel,
      function(feature) {
        return feature;
      });
  if (feature) {
    var coordinates = feature.getGeometry().getCoordinates();
    popup.setPosition(coordinates);
    $(element).popover({
      'placement': 'top',
      'html': true,
      'content': feature.get('name') + ' Pop: ' + feature.get('population') + ' Donkeys: ' + feature.get('numberOfDonkeys')
    });
    $(element).popover('show');
  } else {
    $(element).popover('destroy');
  }
});

您将在弹出窗口中看到Population和numberOfDonkeys属性。

jsFiddle示例 - https://jsfiddle.net/z7adr7q0/1/

最终你根本不需要那些这些属性,你可以摆脱它们,它们只是可以放置你想要重用的属性的例子这样。

答案 1 :(得分:1)

这并不意味着什么。 Null Island是一个虚构的特征,定义了一些属性,这就是全部。