changing to cache coordinates on client side and update using clientside data on the clientside when viewport is changed