HereMaps GeoJSON Polygon单击读取属性

时间:2019-03-14 10:34:05

标签: javascript maps geojson here-api here-maps-rest

我的问题如下。

我有什么

  • 我有一个具有多边形和自定义属性的GeoJSON功能集
  • GeoJSON已加载到Here地图

我想要的

  • 我要检测多边形点击并读取自定义属性值

GeoJSON示例

{
    "type": "FeatureCollection",
    "features": [{
        "type": "Feature",
        "properties": {
            "customProp": "heyImACustomProperty"
        },
        "geometry": {
            "type": "Polygon",
            "coordinates": [
                [
                    [
                        16.45477294921875,
                        43.51619059561274
                    ],
                    [
                        16.450481414794922,
                        43.50772499687011
                    ],
                    [
                        16.470909118652344,
                        43.5019975949657
                    ],
                    [
                        16.481552124023438,
                        43.51021500212034
                    ],
                    [
                        16.475543975830078,
                        43.518306809754804
                    ],
                    [
                        16.45477294921875,
                        43.51619059561274
                    ]
                ]
            ]
        }
    }]
}

关于GeoJSON操作的文档不是最好的。

谢谢。

1 个答案:

答案 0 :(得分:2)

以下是示例代码,可在单击时获取GeoJSON多边形的属性值。

reader = new H.data.geojson.Reader('/path/to/geojson/file.json');
  reader.parse();
  map.addLayer(reader.getLayer());

  reader.getLayer().getProvider().addEventListener("tap", function(e) {
    if(e.target instanceof H.map.Polygon) {
      console.log('Custom property value: ', e.target.getData().properties.customProp);
    }
  }); 

GeoJSON文档可在以下位置找到: https://developer.here.com/documentation/maps/topics_api/h-data-geojson-reader.html