Convert coordinates to a place name with HTML5

For this, use Google Maps API to perform reverse geocoding.

Geocoding refers to translating a human-readable address into a location on a map.

The process of doing the converse, translating a location on the map into a human-readable address, is known as reverse geocoding.

Getting User Location with HTML5

First, we'll use HTML5 Geolocation API to get the user's current coordinates:

function getUserLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition, showError);
    } else {
        console.log("Geolocation is not supported by this browser.");
    }
}

function showPosition(position) {
    const lat = position.coords.latitude;
    const lng = position.coords.longitude;
    console.log("Latitude: " + lat + ", Longitude: " + lng);
    reverseGeocode(lat, lng);
}

function showError(error) {
    switch(error.code) {
        case error.PERMISSION_DENIED:
            console.log("User denied the request for Geolocation.");
            break;
        case error.POSITION_UNAVAILABLE:
            console.log("Location information is unavailable.");
            break;
        default:
            console.log("An unknown error occurred.");
            break;
    }
}

Setting Up Google Maps API

Initialize the map with the obtained coordinates:

function initMap(lat, lng) {
    const map = new google.maps.Map(document.getElementById('map'), {
        zoom: 15,
        center: {lat: lat, lng: lng}
    });
    
    // Add a marker at the location
    new google.maps.Marker({
        position: {lat: lat, lng: lng},
        map: map,
        title: 'Your Location'
    });
}

Reverse Geocoding Implementation

Convert coordinates to a readable address using Google's Geocoding service:

function reverseGeocode(lat, lng) {
    const geocoder = new google.maps.Geocoder();
    const latlng = {lat: lat, lng: lng};
    
    geocoder.geocode({location: latlng}, (results, status) => {
        if (status === 'OK') {
            if (results[0]) {
                const address = results[0].formatted_address;
                console.log("Address: " + address);
                
                // Display address components
                const components = results[0].address_components;
                components.forEach(component => {
                    console.log(component.types[0] + ": " + component.long_name);
                });
                
                // Initialize map with the location
                initMap(lat, lng);
            } else {
                console.log('No results found');
            }
        } else {
            console.log('Geocoder failed due to: ' + status);
        }
    });
}

// Start the process
getUserLocation();

Complete HTML Example

<!DOCTYPE html>
<html>
<head>
    <title>Reverse Geocoding with HTML5</title>
    <style>
        #map { height: 400px; width: 100%; }
        #location-info { margin: 20px 0; }
    </style>
</head>
<body>
    <h1>Convert Coordinates to Place Name</h1>
    <button onclick="getUserLocation()">Get My Location</button>
    <div id="location-info"></div>
    <div id="map"></div>
    
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=geometry"></script>
    <script>
        // Include all the JavaScript functions above
    </script>
</body>
</html>

Key Points

The reverse geocoder will match countries, provinces, cities and neighborhoods, street addresses, and postal codes. You'll need a valid Google Maps API key to use this service.

Conclusion

HTML5 Geolocation combined with Google Maps reverse geocoding provides a powerful way to convert user coordinates into meaningful place names. This enables location-aware web applications with rich geographic context.

Updated on: 2026-03-15T23:18:59+05:30

359 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements