Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2012, 13:30
Avatar de tobal_mx
tobal_mx
 
Fecha de Ingreso: junio-2011
Ubicación: Curicó
Mensajes: 32
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Geolocalizacion de Usuarios con Gmaps

Que tal muchachos, encontré una aplicacion que usa Google Maps (v2) y Mysql, funciona todo ok, pero resulta que modifiqué el ultimo archivo que es el que representa a los usuarios en el mapa y le puse un buscador bastante sencillo, el mapa muestra en un div los usuarios que estan registrados y tiene la propiedad de hacer click y habrirse el globo en el mapa con la informacion que corresponda:

Código:
<script type="text/javascript">
    if (GBrowserIsCompatible()) {
      var side_bar_html = "";
      var gmarkers = [];
      var htmls = [];
      var i = 0;
      var gicons = [];
      gicons["map"] = new GIcon(G_DEFAULT_ICON, "http://maps.google.com/mapfiles/ms/micons/red-pushpin.png");
	side_bar_html = '<span class="note"></span>';
      function createMarker(point,name,html,icontype) {
        var marker = new GMarker(point, gicons[icontype]);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        gmarkers[i] = marker;
        htmls[i] = html;
        side_bar_html += '<span class="note"><a href="javascript:myclick(' + i + ')">Ver<\/a><\/span> ';
        i++;
        return marker;
      }
      function myclick(i) {
        gmarkers[i].openInfoWindowHtml(htmls[i]);
      }
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.setCenter(new GLatLng(-35.101934057246055, -71.3232421875), 8);
      var request = GXmlHttp.create();
      request.open("GET", "informacion.php", true);
      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          var xmlDoc = GXml.parse(request.responseText);
          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var lat = parseFloat(markers[i].getAttribute("lat"));
            var lng = parseFloat(markers[i].getAttribute("lng"));
            var point = new GLatLng(lat,lng);
            var html = markers[i].getAttribute("html");
            var label = markers[i].getAttribute("label");
            var icontype = markers[i].getAttribute("icontype");
            var marker = createMarker(point,label,html,icontype);
            map.addOverlay(marker);
          }
          document.getElementById("side_bar").innerHTML = side_bar_html;
        }
      }
      request.send(null);
    }

    else {
      alert("El API de google maps no es compatible con este browser");
    }
    </script>
el mapa saca la info del siguiente archivo
Código PHP:
<?php session_start();
include(
"3.php");
echo 
"<markers>";
$user=$_SESSION['estado'];
$marker=0;
$registros=mysql_query("select * from google_maps where Lat!='0' and Lng!=''"$conexion) or die("Problemas en el select:".mysql_error());
while (
$reg=mysql_fetch_array($registros))
$marker++;
echo 
"<marker lat='".$reg['Lat']."' lng='".$reg['Lng']."' html='
Alumno:"
.$reg['Nick']."
Matricula:"
.$reg['Matricula']."
Direccion:"
.$reg['direccion']."
'  label='"
.$reg['Nick']."' icontype='map'/>";
}
echo 
"</markers>";
?>
y el div que muestra el enlace es este
Código HTML:
<div id="side_bar"> 
el tema es que el div anterior muestra todos los usuarios que estén hasta el momento registrados, pero como le puse un buscador, ¿seria posible mostrar
ese enlace en los resultados de busqueda que tubiese el link solamente del usuario que se buscó ?

algun maestro del javascript que me ayude porfavor :) gracias