我想在我的地图上创建混乱的地方。在查看指南和文档时,FeatureCollection Json总是从某些外部链接中拉出。但是,当我从服务器读取数据时,如何以编程方式创建它呢?我还没有在一个地方准备好所有东西,而且总会一直在变化,这取决于用户。
我之前一直困扰于此问题,最终使用了一些鸭子磁带解决方案,但现在无法使用。任何人都可以请问一下这个吗?
您可以使用现有的FeatureCollection
对象或Feature
对象的数组/列表创建Feature
。可以将其转换为一种方法,每当收到新的数据集时就可以使用该方法来生成新的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);
}
[在上面的示例中,我用来表示来自服务器的数据的对象称为Coordinate
,我提供了getLatitude()
和getLongitude()
方法来演示使用纬度/经度信息生成Mapbox [使用FeatureCollection
方法创建的List
个对象的Feature
中的C0],并传入Feature.fromGeometry()
。
请注意,这可能不是解决您要在此处实现的目标的最佳方法。就是说,我希望它说明了另一种无需读取Point.fromLngLat()
数据源即可实例化FeatureCollection
的方法。