Código de PHP - IP Geolocation

Imágen de perfil
Val: 79
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

IP Geolocationgráfica de visualizaciones


PHP

Actualizado el 13 de Agosto del 2015 por Txema (7 códigos) (Publicado el 19 de Enero del 2015)
15.719 visualizaciones desde el 19 de Enero del 2015
Tras la captación de la IP del usuario mediante PHP, el código que se presenta utiliza los servicios geoPlugin haciendo uso de los datos de geolocalización bajo condición de aceptación de la licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0 Unported.

Utiliza la base de datos GeoLite de MaxMind cuyos créditos son necesarios publicar en cualquier desarrollo.

Se presenta adaptado con representación en mapa mostrado a través de Google Maps.

Dado que en local (http://localhost) la IP que nos muestra es ::1 , es necesario mostrar la página levantada en un hosting.

Requerimientos

Los créditos correspondientes derivados de la licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0 Unported sobre los servicios geoPlugin.

Google Maps API

IP Geolocation 2015.0
estrellaestrellaestrellaestrellaestrella(4)

Actualizado el 13 de Agosto del 2015 (Publicado el 19 de Enero del 2015)gráfica de visualizaciones de la versión: IP Geolocation 2015.0
15.720 visualizaciones desde el 19 de Enero del 2015
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Ampliado con Código País y Código Continente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Geolocalización de IP">
    <title>Geolocalización de IP en Google Maps</title>
<style type="text/css">
html,body{margin:0;padding:0;width:100%;height:100%;font-family:Trebuchet MS,verdana,arial}
#texto{text-align:center;padding:8%}
</style>
<?php
$IP = '';
  if (getenv('HTTP_CLIENT_IP')) {
    $IP =getenv('HTTP_CLIENT_IP');
  } elseif (getenv('HTTP_X_FORWARDED_FOR')) {
    $IP =getenv('HTTP_X_FORWARDED_FOR');
  } elseif (getenv('HTTP_X_FORWARDED')) {
    $IP =getenv('HTTP_X_FORWARDED');
  } elseif (getenv('HTTP_X_CLUSTER_CLIENT_IP')) {
    $IP =getenv('HTTP_X_CLUSTER_CLIENT_IP');
  } elseif (getenv('HTTP_FORWARDED_FOR')) {
    $IP =getenv('HTTP_FORWARDED_FOR');
  } elseif (getenv('HTTP_FORWARDED')) {
    $IP = getenv('HTTP_FORWARDED');
  } else {
    $IP = $_SERVER['REMOTE_ADDR'];
  }
$meta = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$IP));
?>
<script>
var map, geocoder;
function inicio() {
  var lat = document.getElementById('lat').value;
  var lng = document.getElementById('lng').value;
  var latlng = new google.maps.LatLng(lat, lng);
  var mapOptions = {
    zoom: 16,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  map = new google.maps.Map(document.getElementById('mapa'), mapOptions);
  geocoder = new google.maps.Geocoder();
  // Función completa de Geocoding
  geocoder.geocode({
    'latLng': latlng
  }, function (results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      document.getElementById('lat').innerHTML = results[0].geometry.location.lat().toFixed(6);
      document.getElementById('lng').innerHTML = results[0].geometry.location.lng().toFixed(6);
      map.setCenter(results[0].geometry.location);
      document.getElementById('direccion').innerHTML = results[0].formatted_address;
      var marker = new google.maps.Marker({
        map: map,
        position: results[0].geometry.location
      });
      infowindow = new google.maps.InfoWindow({
        content: results[0].formatted_address + '<br> Latitud: ' + results[0].geometry.location.lat().toFixed(6) + '<br> Longitud: ' + results[0].geometry.location.lng().toFixed(6)
      });
      infowindow.open(map, marker)
    }
	// Se detallan los diferentes tipos de error
	else {
      alert('Geocode no tuvo éxito por la siguiente razón: ' + status)
    }
  })
};
google.maps.event.addDomListener(window, 'load', inicio);
</script>
  </head>
  <body>
	<section id="texto">
	  <h3>Geolocalización de IP en Google Maps</h3>
	  <h3><a href="http://www.geoplugin.com/geolocation/" target="_new">IP Geolocation</a> por <a href="http://www.geoplugin.com/" target="_new">geoPlugin</a></h3>
	  geoPlugin utiliza la base de datos GeoLite de MaxMind disponible en <a href="http://www.maxmind.com" target="_blank">http://www.maxmind.com</a>.
	  <br>
	  El uso de los servicios geoPlugin haciendo uso de los datos de geolocalización está bajo condición de aceptación de la licencia <a rel="nofollow" title="http://creativecommons.org/licenses/by-sa/3.0/" target="_new" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0 Unported</a>.
	  <br>
      <br>
      IP: <span style="color:#FF00AA;"><?php echo $IP; ?></span>
      <br>
      Latitud: <span style="color:#FF00AA;"><?php echo $meta['geoplugin_latitude']; ?></span>
	  <input id="lat" type="hidden" value="<?php echo $meta['geoplugin_latitude']; ?>">
      <br>
      Longitud: <span style="color:#FF00AA;"><?php echo $meta['geoplugin_longitude']; ?></span>
	  <input id="lng" type="hidden" value="<?php echo $meta['geoplugin_longitude']; ?>">
      <br>
      Ciudad: <span style="color:#FF00AA;"><?php echo $meta['geoplugin_city']; ?></span>
      <br>
      Región: <span style="color:#FF00AA;"><?php echo $meta['geoplugin_region']; ?></span>
      <br>
      País: <span style="color:#FF00AA;"><?php echo $meta['geoplugin_countryName']; ?></span>
      <br>
      Código País: <span style="color:#FF00AA;"><?php echo $meta['geoplugin_countryCode']; ?></span>
      <br>
      Código Continente: <span style="color:#FF00AA;"><?php echo $meta['geoplugin_continentCode']; ?></span>
    </section>
    <div id="mapa"></div>
  </body>
</html>



Comentarios sobre la versión: IP Geolocation 2015.0 (4)

Imágen de perfil
13 de Agosto del 2015
estrellaestrellaestrellaestrellaestrella
Muy bueno Txema!!!!
Responder
Imágen de perfil
21 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Hola, soy Daniel quisiera comunicarme con usted, este código es excelente y deseo saber si me puedes ayudar con un proyecto que tengo el cual incluye un código similar a este.

Gracias quedo atento a sus respuesta.
Responder
Imágen de perfil
22 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Hola Daniel:

Puedes contactar conmigo a través de mensaje privado o directamente a mi email que lo tienes en mi perfil de lawebdelprogramador (http://www.lawebdelprogramador.com/programadores/139301)
Responder
Jorge Luis
3 de Octubre del 2021
estrellaestrellaestrellaestrellaestrella
Excelente trabajo. Felicitaciones. El código del presente blog, no presenta el map de la geolocalización. aunque al final del blog está la linea de código: <div id="mapa"></div>. Saludos..
Responder

Comentar la versión: IP Geolocation 2015.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3011