import React from 'react'; import { View } from 'react-native'; import { LatLng, Marker, MarkerDragEvent, MarkerDragStartEndEvent, MarkerPressEvent, } from 'react-native-maps'; import { MapPolygonExtendedProps } from '../lib/types'; import { Circle } from './Circle'; import { RemoverCircle } from './RemoverCircle'; export const CircleMarkers = React.memo( (props: { selectedMarkerIndex: number | null; polygon: MapPolygonExtendedProps; onDragStart: (index: number) => (e: MarkerDragStartEndEvent) => void; onDrag: (index: number) => (e: MarkerDragEvent) => void; onDragEnd: (index: number) => (e: MarkerDragStartEndEvent) => void; onPress: (index: number) => (e: MarkerPressEvent) => void; }) => { const isSelectedMarker = (coordIndex: number | null): boolean => { return props.selectedMarkerIndex === coordIndex; }; return ( <> {props.polygon.coordinates.map( (coordinate: LatLng, coordIndex: number) => ( {isSelectedMarker(coordIndex) && ( )} {!isSelectedMarker(coordIndex) && ( )} ), )} ); }, ); CircleMarkers.displayName = 'CircleMarkers';