I have used ipinfo (not need user's autorization) or equivalent to get user's location informations, which is used to get it weather informations from openWeatherMap. The problem is that localization by using ip-address can be not precise considering it depend of the user internet access point (ISP, ...). For example, considering the Cameroon as country, if my internet connexion is provided by a server located in Yaoundé and i am located in Dschang ; common ip localization API like ipinfo one, will give me Yaoundé as my city location. That say, we will have the equivalent result if the server is located in a different country.
In the same order, HTML5-geolocalization API (need user's autorization) is seem be an excellent way, considering the fact that it can be more precise (sometimes with 100m accuracy). However, that precision depends of considering API function's arguments settings and browser configuration ; this article from html5doctor.com gives some lighting about that. My problem is, i don't also get expected result with it; considering the previous example, i get Douala (ISP location) as result instead of Dschang.
So How to have better precise result with these methods or is there another way to get user's precise location ?