Foros del Web » Programando para Internet » PHP »

Localizacion por IP - PHP

Estas en el tema de Localizacion por IP - PHP en el foro de PHP en Foros del Web. Hola gente, necesito saber la ubicación del usuario cuando ingrese a la web, tomando la ubicación del usuario necesito mostrarle ciertos puntos de interés como ...
  #1 (permalink)  
Antiguo 13/04/2015, 08:43
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 9 años, 6 meses
Puntos: 12
Información Localizacion por IP - PHP

Hola gente, necesito saber la ubicación del usuario cuando ingrese a la web, tomando la ubicación del usuario necesito mostrarle ciertos puntos de interés como por ejemplo farmacias.

Esto es lo que encontre, además hay que registrarse en esta web 'http://ipinfodb.com/ pero me arroja que me encuentro en Estados Unidos cuando no es así.

Código PHP:
Ver original
  1. <?php
  2.  
  3.         $ip = '212.32.52.135'; //IP de ejemplo
  4.         $default = 'desconocido'; //IP por defecto
  5.         if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost') $ip = '8.8.8.8';
  6.         $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)';
  7.        
  8.         $url = 'http://ipinfodb.com/ip_locator.php?ip='.urlencode($ip);
  9.         $ch = curl_init();
  10.        
  11.         $curl_opt = array(
  12.             CURLOPT_FOLLOWLOCATION => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $curlopt_useragent, CURLOPT_URL => $url, CURLOPT_TIMEOUT => 1, CURLOPT_REFERER => 'http://'.$_SERVER['HTTP_HOST'],
  13.         );
  14.        
  15.         curl_setopt_array($ch, $curl_opt);
  16.        
  17.         $content = curl_exec($ch);
  18.        
  19.         if (!is_null($curl_info)) { $curl_info = curl_getinfo($ch);  }
  20.        
  21.         curl_close($ch);
  22.        
  23.         if ( preg_match('{<li>Ciudad: ([^<]*)</li>}i', $content, $regs))  $ciudad = $regs[1];
  24.         if ( preg_match('{<li>Provincia: ([^<]*)</li>}i', $content, $regs)) $estado = $regs[1];
  25.         if( $ciudad != '' && $estado != '' ){
  26.             $location = $ciudad. ', ' . $estado;
  27.             echo $location;
  28.         } else {
  29.             echo $default;
  30.         }
  31.  ?>

Conocen otra forma de obtener la ubicación real del usuario o alguna libreria que pueda utilizar.

Desde ya muchas gracias.

Saludos.
__________________
http://www.sp-vision.net
  #2 (permalink)  
Antiguo 13/04/2015, 08:57
 
Fecha de Ingreso: abril-2013
Ubicación: Envigado
Mensajes: 18
Antigüedad: 11 años
Puntos: 3
Respuesta: Localizacion por IP - PHP

Google tiene una API que te entrega esa información, revisa el código y ve si te es útil.

Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  2.     <html>
  3.         <head>
  4.             <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  5.             <title>Google Maps Geoposicionamiento</title>
  6.      
  7.             <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
  8.  
  9.             <style>
  10.      
  11.             #map
  12.             {
  13.                 width: 100%;
  14.                 height: 300px;
  15.                 border: 1px solid #d0d0d0;
  16.             }
  17.      
  18.             </style>
  19.      <script>
  20.      function localize()
  21.         {
  22.             if (navigator.geolocation)
  23.             {
  24.                 navigator.geolocation.getCurrentPosition(mapa,error);
  25.             }
  26.             else
  27.             {
  28.                 alert('Tu navegador no soporta geolocalizacion.');
  29.             }
  30.         }
  31.  
  32.         function mapa(pos)
  33.         {
  34.         /************************ Aqui están las variables que te interesan***********************************/
  35.             var latitud = pos.coords.latitude;
  36.             var longitud = pos.coords.longitude;
  37.             var precision = pos.coords.accuracy;
  38.  
  39.             var contenedor = document.getElementById("map")
  40.  
  41.             var centro = new google.maps.LatLng(latitud,longitud);
  42.  
  43.             var propiedades =
  44.             {
  45.                 zoom: 15,
  46.                 center: centro,
  47.                 mapTypeId: google.maps.MapTypeId.ROADMAP
  48.             };
  49.  
  50.             var map = new google.maps.Map(contenedor, propiedades);
  51.  
  52.             var marcador = new google.maps.Marker({
  53.                 position: centro,
  54.                 map: map,
  55.                 title: "Tu posicion actual"
  56.             });
  57.         }
  58.  
  59.         function error(errorCode)
  60.         {
  61.             if(errorCode.code == 1)
  62.                 alert("No has permitido buscar tu localizacion")
  63.             else if (errorCode.code==2)
  64.                 alert("Posicion no disponible")
  65.             else
  66.                 alert("Ha ocurrido un error")
  67.         }
  68.  </script>
  69.         </head>
  70.      
  71.         <body onLoad="localize()">
  72.             <h1>Google Maps Geoposicionamiento</h1>
  73.                 <div id="map" ></div>
  74.         </body>
  75.      
  76.     </html>

Última edición por carlostitoi; 13/04/2015 a las 09:08
  #3 (permalink)  
Antiguo 13/04/2015, 10:25
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 9 años, 6 meses
Puntos: 12
Respuesta: Localizacion por IP - PHP

Gracias por tu aporte carlostitoi, lo reviso y cualquier duda la posteo.
__________________
http://www.sp-vision.net

Etiquetas: localizacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:15.