繁体   English   中英

MapBox:如何以编程方式创建 featureCollection?

[英]MapBox: How do I create a featureCollection programmatically?

我想在我的 map 中创建聚类。 在查看指南和文档时,FeatureCollection Json 总是从某个外部链接中提取。 但是,当我从服务器读取数据时,如何以编程方式创建它? 我没有在一个地方准备好所有东西,而且它总是会根据用户而变化。

我之前一直被这个问题困扰并最终使用了一些鸭带解决方案,但它现在不起作用。 任何人都可以请对此有所了解吗?

您可以使用现有的Feature object 或Feature对象的数组/列表来创建FeatureCollection 这可以变成一种方法,您可以在收到新数据集时使用该方法生成新的FeatureCollection

鉴于您提供的信息,我将不得不在这里做出一些假设 - 我希望以下代码片段有助于引导您朝着正确的方向前进:

public FeatureCollection getFeatureCollectionFromCoordinateList(List<Coordinate> coords) {
    List<Feature> pointsList = new ArrayList<>();

    for (Coordinate coord : coords) {
        Feature feature = Feature.fromGeometry(Point.fromLngLat(coord.getLongitude(), coord.getLatitude()));
        pointsList.add(feature);
    }

    return FeatureCollection.fromFeatures(pointsList);
}

在上面的示例中,我用来表示来自服务器的数据的 object 称为Coordinate ,我给出了getLatitude()getLongitude()方法来演示使用纬度/经度信息从List生成 Mapbox FeatureCollection使用Feature.fromGeometry()方法创建的Feature对象,传入Point.fromLngLat()

请注意,这可能不是 go 关于您要在此处实现的目标的最佳方式。 也就是说,我希望它说明了另一种方式,您可以在不读取JSON数据源的情况下实例化FeatureCollection

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM