官术网_书友最值得收藏!

Sorting the feature list

So far, no use has been made of the third piece of data in the coordinates list, which is the depth of the quake. This data will be presented in the form of a sorted list of the current features when the user presses the Sort button. Let's have a look at the following code snippet:

void sortFeatures(Event evt) {
  featPlotter.sortFeatures();
  DivElement out = querySelector('#depthDetail');
  out.nodes.clear();
  featPlotter.geoFeatures.forEach((feature) {
    LIElement detail = new LIElement();
    detail.innerHtml = "${feature[5]}km - ${feature[3]}";
    out.nodes.add(detail);
  });
}

The list of features is sorted in the method sortFeatures, and as Dart knows nothing of the meaning of the contents of the list, we provide a comparator function that decides which feature is deeper by comparing the depth measurement held at index 5 of the list:

  List sortFeatures(){
    geoFeatures.sort( (a,b) => a[5] - b[5] );
    return geoFeatures;
  }

The comparator receives two arguments and returns 0 for items that are equal, a negative integer if a is less than b, or a positive integer if a is greater than b. Let's have a look at the following screenshot:

Sorting the feature list

The depths are sorted in ascending order and presented as a simple bulleted list together with the location information.

主站蜘蛛池模板: 江陵县| 泸州市| 灌云县| 皮山县| 汤阴县| 渭源县| 嘉祥县| 武清区| 普格县| 汾阳市| 鄂州市| 射洪县| 环江| 扬中市| 根河市| 丰都县| 岳普湖县| 西华县| 绵阳市| 宾阳县| 三穗县| 广州市| 贵定县| 沅陵县| 开阳县| 光泽县| 洞头县| 本溪| 高尔夫| 兴化市| 英吉沙县| 石阡县| 武鸣县| 丹阳市| 日土县| 黔西县| 长丰县| 博野县| 镇远县| 清河县| 左贡县|