如何将除一个标记之外的所有标记聚类
How to cluster all Markers except one
我正在使用 react-native-map-clustering 对 google 地图上的标记进行聚类。所有标记都是动态的,除了一个指示我的位置。当我缩小地图集群时,所有标记。但我想要这样的东西
这是我的实现:
<MapView
layoutAnimationConf={LayoutAnimation.Presets.easeInEaseOut}
animationEnabled={true}
ref={mapRef}
style={styles.map}
provider={PROVIDER_GOOGLE}
initialRegion={currentRegion}
// region={currentRegion}
clusteringEnabled={true}
radius={70}
customMapStyle={mapConfig}>
<Marker coordinate={currentRegion} title={'my location'}>
<Image
source={images.currentLocation}
style={{
height: 20,
width: 20,
}}
/>
</Marker>
{branchMarkers()}
</MapView>
您可以将 Marker 上的 cluster 属性设置为 false 像这样:
<Marker
coordinate={coordinate}
cluster={false}
...
/>
<Image ... />
</Marker>
这将使这个标记永久分散并在所有缩放级别的地图上可见,而不会影响其他集群。在内部,对于作为 MapView 子项的每个 Marker,检查 Marker 是否应该包含在集群中是在 helper function 中完成的,该检查是否已覆盖此道具:
export const isMarker = (child) =>
child &&
child.props &&
child.props.coordinate &&
child.props.cluster !== false;
TypeScript 用户注意事项:
react-native-map-clustering 不会导出具有定义的 cluster 属性的 Marker 组件。将 cluster prop 应用于从 react-native-maps 导入的 Marker 将触发 ts 编译器错误,因此您需要定义自己的 Marker 类型或忽略此 ts 错误。
我正在使用 react-native-map-clustering 对 google 地图上的标记进行聚类。所有标记都是动态的,除了一个指示我的位置。当我缩小地图集群时,所有标记。但我想要这样的东西
<MapView
layoutAnimationConf={LayoutAnimation.Presets.easeInEaseOut}
animationEnabled={true}
ref={mapRef}
style={styles.map}
provider={PROVIDER_GOOGLE}
initialRegion={currentRegion}
// region={currentRegion}
clusteringEnabled={true}
radius={70}
customMapStyle={mapConfig}>
<Marker coordinate={currentRegion} title={'my location'}>
<Image
source={images.currentLocation}
style={{
height: 20,
width: 20,
}}
/>
</Marker>
{branchMarkers()}
</MapView>
您可以将 Marker 上的 cluster 属性设置为 false 像这样:
<Marker
coordinate={coordinate}
cluster={false}
...
/>
<Image ... />
</Marker>
这将使这个标记永久分散并在所有缩放级别的地图上可见,而不会影响其他集群。在内部,对于作为 MapView 子项的每个 Marker,检查 Marker 是否应该包含在集群中是在 helper function 中完成的,该检查是否已覆盖此道具:
export const isMarker = (child) =>
child &&
child.props &&
child.props.coordinate &&
child.props.cluster !== false;
TypeScript 用户注意事项:
react-native-map-clustering 不会导出具有定义的 cluster 属性的 Marker 组件。将 cluster prop 应用于从 react-native-maps 导入的 Marker 将触发 ts 编译器错误,因此您需要定义自己的 Marker 类型或忽略此 ts 错误。