Flutter Map 半径聚类
一个为 flutter_map 提供的聚类插件,可在定义的半径内异步搜索标记/聚类。
警告
此插件是新的,API 在不久的将来可能会频繁更改。
用法
将 flutter_map 和 flutter_map_radius_cluster 添加到您的 pubspec
dependencies:
flutter_map: any
flutter_map_radius_cluster: any # or the latest version on Pub
将其添加到 FlutterMap 并使用 RadiusClusterLayerOptions 进行配置。
Widget build(BuildContext context) {
return FlutterMap(
options: MapOptions(
zoom: 5,
maxZoom: 15,
),
children: <Widget>[
TileLayerWidget(
options: TileLayerOptions(
urlTemplate: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
subdomains: ['a', 'b', 'c'],
),
),
RadiusClusterLayerWidget(
options: RadiusClusterLayerOptions(
radiusInKm: 100.0,
search: (radius, center) {
/* ... your search implementation here */
},
clusterWidgetSize: const Size(40, 40),
anchor: AnchorPos.align(AnchorAlign.center),
builder: (context, clusterData) {
clusterData as ClusterDataWithCount;
return Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20.0),
color: Colors.blue),
child: Center(
child: Text(
clusterData.markerCount.toString(),
style: const TextStyle(color: Colors.white),
),
),
);
},
),
),
],
);
}
运行示例
请参阅 example/ 文件夹中的工作示例应用程序。