I’m trying to extend the native geolocation function
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
});
}
so that I can use the visitor’s country name (perhaps return an informative array).
So far all I’ve been able to find are functions that display a google maps interface but none actually gave what I want, except for this library which worked well in this example but for some reason didn’t work on my computer. I’m not sure why that went wrong there.
Anyways, do you know how I can simply return an array containing information like country, city, etc. from latitude and longitude values?
You don’t need to locate the user if you only need their country. You can look their IP address up in any IP-to-location service (like maxmind, ipregistry or ip2location). This will be accurate most of the time.
Here is a client-side example with Ipregistry (disclaimer, I am working for):
If you really need to get their location, you can get their lat/lng with that method, then query Google’s or Yahoo’s reverse geocoding service.