Refactored POI fetch to be based on viewport bounds