Это не относится только к react-native-maps
.
Для проверки маркеров в определенных границах вы можете использовать, например, mapbox / cheap-ruler library .Функция, которую вы ищете: insideBBox
Вы также можете сделать это в чистом javascript
if( bb.ix <= p.x && p.x <= bb.ax && bb.iy <= p.y && p.y <= bb.ay ) {
// Point is in bounding box
}
bb
- ограничивающий прямоугольник, (ix, iy) - его верхнийлевые координаты и (ax, ay) его нижние правые координаты.p
- это точка, а (x, y) - ее координаты.
Итак:
- Цикл на вашем массиве маркеров
- Используйте один из вариантов выше (cheap-ruler или pure js)
- Получить новый список маркеров внутри ограничительной рамки
- Обновите свое состояние React Native, используя
setState