aretherecookies-mobile/js/helpers/CoordinatesHelpers.js
2019-09-21 15:45:07 +00:00

28 lines
777 B
JavaScript

import { memoizeWith, identity } from "ramda";
export const getZoomBox = memoizeWith(identity, (foodItemsMap, coords) =>
foodItemsMap.reduce(
(prev, foodItem) => {
const minLat = !prev.minLat || prev.minLat > foodItem.latitude ? foodItem.latitude : prev.minLat;
const maxLat = !prev.maxLat || prev.maxLat < foodItem.latitude ? foodItem.latitude : prev.maxLat;
const minLng = !prev.minLng || prev.minLng > foodItem.longitude ? foodItem.longitude : prev.minLng;
const maxLng = !prev.maxLng || prev.maxLng < foodItem.longitude ? foodItem.longitude : prev.maxLng;
return {
minLat,
maxLat,
minLng,
maxLng
};
},
{
minLat: coords.latitude,
maxLat: coords.latitude,
minLng: coords.longitude,
maxLng: coords.longitude
}
)
);