Géolocalisation + Google Map

Scipt complet

1ere partie: Unserialize les information provenant de l'API.
<?php
    function get_ip() {
    	// IP si Internet partagé
    	if (isset($_SERVER['HTTP_CLIENT_IP'])) {
    		return $_SERVER['HTTP_CLIENT_IP'];
    	}
    	// IP derrière un proxy
    	elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    		return $_SERVER['HTTP_X_FORWARDED_FOR'];
    	}
    	// Sinon: IP normale
    	else {
    		return (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '');
    	}
    }                                                    
    $real = get_ip();
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$real));
if($query && $query['status'] == 'success')
{
$realIP = $real;
$realPays = $query['country'];
$realCode = $query['countryCode'];
$realRegion = $query['regionName'];
$realVille = $query['city'];
$realCp = $query['zip'];
$realLat = $query['lat'];              
$realLong = $query['lon'];
$realisp = $query['isp'];
$realorg = $query['org'];
$realas = $query['as'];                     
}                        
?>

<b>Affichage Infos:</b><br /> <br />
Adresse IP: <?php echo $realIP ?>
<br />
Pays: <?php echo $realPays ?>
<br />
Code Pays: <?php echo $realCode ?>
<br />
Région: <?php echo $realRegion ?>
<br />
Ville: <?php echo $realVille ?>
<br />
Code Postal: <?php echo $realCp ?>
<br />
Latitude: <?php echo $realLat ?>
<br />
ISP Nom <?php echo $realisp ?>
<br />
AS number: <?php echo $realas ?>
<br /> <br />

2ere partie: Maintenant, pour aller plus loin, nous affichons Google Map.

<style>
#map {height: 400px; width: 100%;}#map-1-3 {height: 200px;width: 100%;}
/* Le script ne fonctionnera pas sans le css -----  Ici nous allons utiliser l' id map */    
</style> 

<?php
$apiKey = "AIzxxxxxxxxxxxxx";
// Votre clé API Google
?>

    <div id="map"></div>
    <script>
      function initMap() {
        var <?php echo $realVille; ?> = {lat: <?php echo $realLat; ?>, lng: <?php echo $realLong; ?>};
        var map = new google.maps.Map(document.getElementById('map'), {
          scaleControl: true,
          center: <?php echo $realVille; ?>,
          zoom: 13
        });
        var infowindow = new google.maps.InfoWindow;
        infowindow.setContent('<b><?php echo $realVille; ?></b>');
        var marker = new google.maps.Marker({map: map, position: <?php echo $realVille; ?>});
        marker.addListener('click', function() {
          infowindow.open(map, marker);
        });
      }
    </script>
    
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=<?php echo $apiKey; ?>&language=fr®ion=<?php echo $realCode; ?>&callback=initMap">
</script>

Et voilà ... Pour aller enconre plus loin, rien n'empêche d'enregistrer en base de donnée
les informations récupérées comme $realIP, $realPays etc ...