"Is it possible to do without asking to the user?"
No, not in most cases.
IP based geolocation is a waste of time: Using IP based Geolocation - and why it's pretty much useless.
] - easy to do, but it can;t be relied upon.
And unless your user is on a tablet or phone they probably don't have GPS for you to access - if they would let you get access.
So your best result is to ask them: They may lie to you, but at least they will expect the location to be rubbish in that case!