I’ve been wanting to put something like this together for myself for a while and I finally found myself with a couple of hours to spare today. The main reason is that I have to calibrate my GPS watch with my current altitude to be able to get accurate elevation readings using the watch’s barometer. So to be able to quickly get my current elevation based on map data for my location I thought this would be quite handy (at least whenever I’ve mobile reception).
It’s a little overkill but it’s built in React. There are even a couple of token tests in there - mainly for the sake of using Jest snapshots which I’ve not used up until this point.
It’s a simple little app that takes your location from
navigator.geolocation.getcurrentposition, fires it off to the google elevation service (for now at least) which returns your elevation in metres.
I’m going to look for an alternative API to google’s for getting the elevation as they are charging £0.005 per request. It’s fine for now - when I signed up to their cloud platform I was given ~£220 ($300) free credit. I should be good for about 44000 requests which I’d be surprised to ever come close to.
I had a quick look and came across open elevation but their open API was very slow to the point of unusable. I may look at firing up a Digital Ocean droplet to host my own instance but that’s for a later date (if at all). If anyone has any other suggestions, please do let me know.
It’s all hosted on an S3 bucket. I’m still trying to get my head around AWS so it was a nice little project to have a play with that too.
Happy to answer any questions/comments.