One small point to keep in mind: some users may refuse to provide their location or simply ignore the request because they know that it is incorrect.
If your location information is derived from your IP address, this is far from the case. In my case, if you use the internet from home, it will appear hundreds of miles away on the central New South Wales coast. I live inland in northeastern New South Wales. As far as I can tell, this is due to a peculiarity of how Telstra does things on her side. This is also the intention if your users use a VPN to connect to your site.
If you want to provide a location-based service, e.g. For example, looking for local branches of your business, you offer your users the option of manually entering a location. Don't just rely on automated means to get it.