
06/02/2013, 15:53
|
| | Fecha de Ingreso: febrero-2013 Ubicación: Tuluá
Mensajes: 5
Antigüedad: 12 años, 2 meses Puntos: 0 | |
problemas con google maps Buenas tardes.
Les planteo mi problema , estoy tratando de mostrar varios registros que consulto a una base de datos. ahora transforme la direccion en latitud y longitud (hasta aqui no hay problema). el problema radica en que me pinta solo el ultimo registro de la bd en la pagina .
Metodo para seleccionar todos los registros de la tabla personas
Código:
public function obtener_personas()
{
$sql="select * from personas";
// echo $sql;
$res=mysql_query($sql,self::con());
while ($reg=mysql_fetch_assoc($res))
{
$this->user[]=$reg;
}
return $this->user;
}
Prueba.php
Código:
<?php
require_once("class/class.php");
$tra=new Trabajo();
$reg=$tra->obtener_personas();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Codificación geográfica</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=true"></script>
</script>
</head>
<body>
<?php
for ($i=0; $i < count($reg); $i++)
{
$doc=new DOMDocument();
$direccion=$reg[$i]["direccion"]." ".$reg[$i]["pais"];
// echo $direccion;
$xml="http://maps.googleapis.com/maps/api/geocode/xml?address=".$direccion."&sensor=true";
// echo $xml;
$doc->load($xml);
$persona=$doc->getElementsByTagName("result");
foreach ($persona as $p)
{
$latitud=$p->getElementsByTagName("lat");
$latitud=$latitud->item(0)->nodeValue;
$longitud=$p->getElementsByTagName("lng");
$longitud=$longitud->item(0)->nodeValue;
}
echo "<script>
$(document).ready(function() {cargar_mapa(); });
function cargar_mapa()
{
var myOptions = {
scaleControl: true,
center: new google.maps.LatLng($latitud,$longitud),
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map($('.map_canvas').get(0),
myOptions);
var marker = new google.maps.Marker({
map: map,
title: '$direccion',
position: map.getCenter()
});
var infowindow = new google.maps.InfoWindow();
infowindow.setContent('<b>Mapa</b>');
google.maps.event.addListener(marker, 'click', function()
{
infowindow.open(map, marker);
});
}
google.maps.event.addDomListener(window, 'load', cargar_mapa);
</script>";
echo "mi latitud es : ".$latitud."</br>";
echo "mi longitud es : ".$longitud."</br>";
echo $reg[$i]["nombre"]."<br>";
echo $reg[$i]["telefono"]."<br>";
echo $reg[$i]["correo"]."<br>";
echo $reg[$i]["direccion"]."<br>";
echo $direccion=$reg[$i]["direccion"]." ,".$reg[$i]["pais"];
echo "<div class='map_canvas' style='width:400px; height:300px;'>1</div>";
echo "<hr>";
}
?>
<?php
# code...
?>
</body>
</html>
Y esta es la base de datos
Código:
CREATE TABLE `personas` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(100) collate utf8_spanish_ci NOT NULL,
`telefono` varchar(50) collate utf8_spanish_ci NOT NULL,
`correo` varchar(100) collate utf8_spanish_ci NOT NULL,
`direccion` varchar(200) collate utf8_spanish_ci NOT NULL,
`pais` varchar(100) collate utf8_spanish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=5 ;
--
-- Volcar la base de datos para la tabla `personas`
--
INSERT INTO `personas` VALUES (1, 'yo andres', '87987', '[email protected]', 'Calle 18 20-18 tulua', 'colombia');
INSERT INTO `personas` VALUES (2, 'critina solis', '89798', '[email protected]', 'Calle 25 20-18 tulua ', 'colombia');
INSERT INTO `personas` VALUES (4, 'leidy', '3128534720', '[email protected]', 'Calle 25 17-18 tulua', 'colombia');
Gracias por su atencion
Última edición por aprendizt; 06/02/2013 a las 15:57
Razón: me falto informacion
|