Foros del Web » Programando para Internet » PHP »

Filtrado de marcadores en Google Maps con checkbox PHP

Estas en el tema de Filtrado de marcadores en Google Maps con checkbox PHP en el foro de PHP en Foros del Web. Buenas: Soy nuevo en el foro y aprendo PHP. Tengo un trabajo en donde hago un filtrado de puntos en un mapa Google Maps utilizando ...
  #1 (permalink)  
Antiguo 04/04/2012, 19:41
Avatar de efenollal  
Fecha de Ingreso: abril-2012
Ubicación: Toa Baja
Mensajes: 63
Antigüedad: 12 años
Puntos: 3
Pregunta Filtrado de marcadores en Google Maps con checkbox PHP

Buenas:
Soy nuevo en el foro y aprendo PHP. Tengo un trabajo en donde hago un filtrado de puntos en un mapa Google Maps utilizando checkboxes. Tengo un campo llamado element en Mysql y otro llamado district y lo que quiero hacer es que cuando seleccione algun valor de element y seleccione algun valor de district aparezcan los puntos en el mapa que han sido llamados por element que sean filtrados por district. No se si me explique bien pero ahi les dejo parte del codigo.
Cualquier ayuda y/o sugerencia sera bienvenida.

index.php
/*
* asigno valores como array y condiciono variables para que el mapa no muestre
* marcadores sin seleccionar nada.
*/
Código:
$values = array();
if(!empty($_GET['element']) && is_array($_GET['element'])) {
	foreach($_GET['element'] as $v){
		$values[] = 'element[]=' . $v;
	}
}
$val = array();
if(!empty($_GET['district']) && is_array($_GET['district'])){
	foreach($_GET['district'] as $vv){
		$val[] = 'district[]=' . $vv;
	}
}
$elementString = ( !empty($_GET['element']) ) ? implode('" OR element = "', $_GET['element']) : '';
$districtString = ( !empty($_GET['district']) ) ? implode('" OR district = "', $_GET['district']) : '';
require_once('map.php');
Código HTML:
<!-- los checkbox que traen los elementos -->
 <form action="index.php" method="get"> 
		 <table border = '0'width = "90%px" color="#A9A9A9">
		 <tr>
			<td><input type="checkbox" id="CO" name="element[]" value = "CO"
			<?php echo(in_array('CO', $element)) ? "checked='checked'" : ''; ?> /> <label for="CO"><b>CO</b></label></td>           
			
			
			<td><input type="checkbox" id="IP" name="element[]" value = "IP"
			<?php echo (in_array('IP', $element)) ? "checked='checked'" : '';?>/> <label for="IP"><b>IP</b></label></td>
			
			
			<td><input type="checkbox" id="VRAD" name="element[]" value = "VRAD"
			<?php echo (in_array('VRAD', $element)) ? "checked='checked'" : ''; ?> /> <label for="VRAD"><b>VRAD</b></label></td>
			
				
			<td><input type="checkbox" id="DLC" name="element[]" value = "DLC"
			<?php echo (in_array('DLC', $element)) ? "checked='checked'" : ''; ?> /> <label for="DLC"><b>DLC</b></label></td>
			</tr>
			
<!-- algunos checkbox que traen los distritos -->
</table> 
map.php
/*
* hace la coneccion a la base de datos.
*/
Código PHP:
<?php
$element 
= (empty($_GET['element'])) ? array() : $_GET['element'];
$district = (empty($_GET['district'])) ? array() : $_GET['district'];
$i $element $district;
require_once(
'conn1.php');
ini_set('display_errors'1); 
ini_set('log_errors'1); 
ini_set('error_log'dirname(__FILE__) . '/error_log.txt'); 
error_reporting(E_ALL);
session_start();


mysql_select_db($db$conn) or die(mysql_error());
if(!empty(
$element)  || !empty($district)){
    
$sql 'SELECT * FROM locations WHERE element = "' implode('" OR element = "'$element) . '" 
            OR district = "' 
implode('" OR district = "'$district) . '"';
    
        
    
$result mysql_query($sql$conn) or die(mysql_error());
    
$row mysql_fetch_assoc($result);
    
$total_rows mysql_num_rows($result);
print_r($i);
}
else{
    
$result null;
    
$row = array();
    
$total_rows = array();
}
script.php
/*
* parte del codigo javascript y php para el mapa google.
*/

Código PHP:

<?php

$element 
= !empty($_GET['element']) ? $_GET['element'] : '';
$district = !empty($_GET['district']) ? $_GET['district'] : '';
require_once 
'map.php';
header('Content-Type: text/javascript; charset=utf-8;');
?>

 <?php 
     
if(is_resource($result)):
         while(
$row mysql_fetch_assoc($result)): ?>
             var image = new google.maps.MarkerImage(
             imagen['<?php echo $row['element'] || $row['district']; ?>'] 
             );
            
                
            var marker = new google.maps.Marker({
                position: new google.maps.LatLng('<?php echo $row['lat']; ?>', <?php echo $row['long']; ?>)
                , map: map
                , title:"<?php echo $row['element'];?>"
                , icon: imagen['<?php echo $row['element'];?>'].icon
            });
            
            google.maps.event.addListener(marker, 'click', function(){
            if(!popup){
                popup = new google.maps.InfoWindow();
            }
            var note = "<h2><?php echo $row['name'];?></h2>"
                    +"<p><b>Distrito:</b> <?php echo $row['district'];?></p>"
                    +"<p><b>Latitud:</b> <?php echo $row['lat'];?></p>"
                    +"<p><b>Longitud:</b> <?php echo $row['long']; ?></p>"
                    +"<p><b>Towncode:</b> <?php echo $row['towncode']; ?></p>"
                    +"<p><b>WC:</b> <?php echo $row['wc']; ?></p>"
                    +"<p><b>Localidad:</b> <?php echo htmlentities($row['description']); ?></p>"
                    + "<p class='marginTopPx'>&nbsp;</p>";
            popup.setContent(note);
            popup.open(map, this);
         });
         <?php endwhile; ?>
     <?php endif; ?>
      
};

Última edición por efenollal; 04/04/2012 a las 19:47
  #2 (permalink)  
Antiguo 05/04/2012, 08:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Filtrado de marcadores en Google Maps con checkbox PHP

Creo que el error está en la línea 61 del archivo index y te falta añadir el & en el src de <script></script>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 05/04/2012, 08:08
Avatar de efenollal  
Fecha de Ingreso: abril-2012
Ubicación: Toa Baja
Mensajes: 63
Antigüedad: 12 años
Puntos: 3
Respuesta: Filtrado de marcadores en Google Maps con checkbox PHP

Di es cierto verifique la direccion y me faltaba añadir & en el src... ahora si me trae los marcadores filtrados. Gracias maestro!!!!
  #4 (permalink)  
Antiguo 05/04/2012, 08:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Filtrado de marcadores en Google Maps con checkbox PHP

¿Eso era? oh la practica hace la perfección, hoy pegué lo que era sin pasar mucho trabajo
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 28/10/2013, 07:52
 
Fecha de Ingreso: octubre-2013
Mensajes: 1
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Filtrado de marcadores en Google Maps con checkbox PHP

Hola me gustaria si puedes subir tus archivos, ya que estoy haciendo lo mismo y fallo en el filtrado.

gracias

Etiquetas: checkbox, google, html, maps, marcadores, mysql, sql, variables, filtros
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 22:00.