Ahh, right! I could've used IP geolocation to get all the info I needed, without that intrusive location request. It would've been a much better experience and a lot simpler to implement for me as well. Thanks for pointing this out - definitely a learning moment for me! :-)
Most of the IP to coarse location databases cost money and/or require backend work to setup. Totally reasonable to skip that money/effort for a fun project like this!