• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

xploit

google maps aplicação

3 mensagens neste tópico

Boas pessoal , estou  desenvolver uma aplicação para um backoffice mas tou me a ver a rasca, com o search form da google maps, a ideia disto e escolher um ponto no mapa e gravá-lo numa BD, só que não consigo entender ainda muito bem jquery/javascript precisava de uma ajuda vossa se possível  :ipool:

CODIGO:

<?
$mapa=$_GET['mapa'];
$zoom=$_GET['zoom'];
if($zoom==""){$zoom="zoom";}
if($mapa==""){$mapa="G_HYBRID_MAP";}
   if($mapa=="G_HYBRID_MAP"){
 $map_name="Hibrídio";
     $t_val="G_SATELLITE_MAP"; $t_name="Satélite";
 $i_val="G_NORMAL_MAP";    $i_name="Mapa";
    }
   if($mapa=="G_SATELLITE_MAP"){
 $map_name="Satélite";
 $t_val="G_HYBRID_MAP";   $t_name="Hibrídio";
 $i_val="G_NORMAL_MAP";   $i_name="Mapa";
   }
   if($mapa=="G_NORMAL_MAP"){
 $map_name="Mapa";
 $t_val="G_SATELLITE_MAP";  $t_name="Satélite";
 $i_val="G_HYBRID_MAP";     $i_name="Hibrídio";
   }
if($_GET['save_map=yes']){
$zoom=$_POST['zoom'];
$tipo_de_mapa=$_POST['map_tipo'];
$latitude=$_POST['latitude'];
$longitude=$_POST['longitude'];
$texto=$_POST['texto'];

}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAATaVAR3pP16aQiybwZ0OOnxTA0P2lXVilv36l3CM-Qvasp1qZVhTSaTbgQdMr8QzgbjQTtydlMX95LQ" type="text/javascript"></script>
<script src="../../scripts/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {  
var pointer;
var point_novo;
var tipo_de_mapa;
var typ1
var typ2
var zoom
if (GBrowserIsCompatible()) {
	var m = $("#map")[0];
        if(m) {
typ1=$("#zoom").val();								
typ2=$("#map_tipo").val();
//onchange mapa tipo//
$("#zoom").change( function() {
typ1=$("#zoom").val();								
typ2=$("#map_tipo").val();
window.location="?mapa="+typ2+"&zoom="+typ1+"";
});
$("#map_tipo").change( function() {
typ1=$("#zoom").val();								
typ2=$("#map_tipo").val();
window.location="?mapa="+typ2+"&zoom="+typ1+"";
});
$("#del").click(function() {
typ1=$("#zoom").val();								
typ2=$("#map_tipo").val();
window.location="?mapa="+typ2+"&zoom="+typ1+"";			
});
//   end  //

		var mapa = new GMap2(m);
		var mapa_de_inicio = new GLatLng(52.519563,13.414306);

		mapa.setCenter(mapa_de_inicio,<? echo $zoom; ?>,<? echo $mapa; ?>);
		pointer = new GMarker(mapa_de_inicio);

		var teste="lolada pos cornos";
		GEvent.addListener(pointer, "click", function() {pointer.openInfoWindowHtml(teste);});
		mapa.addOverlay(pointer);
            mapa.disableDoubleClickZoom();
    
    $('#address-submit-1').click(function(){
       mapa.('SearchAddress', {
            'query': $('#address').val(),
            'returnType': 'getLocations'
        }, function(result, options) {
            
            var valid = Mapifies.SearchCode(result.Status.code);
            if (valid.success) {
           $.each(result.Placemark, function(i, point){
		 var tu; var te;
		  	    tu = new GPoint(point.Point.coordinates[1], point.Point.coordinates[0]);
				te = new GMarker(tu);
				mapa.addOverlay(te);
				mapa.getCenter(tu);
                });
            } else {
              $('#address').val(valid.message);
            }
        });
        return false;	
    });


$("#addpoint").click(function() {
		GEvent.addListener(mapa, 'click', function(overlay, ponto){
			if(pointer) {
		    mapa.removeOverlay(pointer);
			}
			if(ponto) {
				point_novo = new GPoint(ponto.x, ponto.y);
				pointer = new GMarker(point_novo);
				mapa.addOverlay(pointer);
				mapa.getCenter(ponto);
				$('#longitude').attr('value',ponto.x);
				$('#latitude').attr('value',ponto.y);
			}
		    });


});


  }
}

});
</script>
</head>
<body>
<button id="addpoint">Clique aqui para adiçionar</button>
<button id="del">Clique aqui para cancelar</button>
<form action="?save_map=yes" method="post">
Visualização do local:<?
echo '<select name="map_tipo" id="map_tipo">
<option value="'.$mapa.'">'.$map_name.'</option>
<option value="'.$t_val.'">'.$t_name.'</option>
<option value="'.$i_val.'">'.$i_name.'</option>
</select>'; ?>

Zoom :<select name="zoom" id="zoom">
<option value="<? echo $zoom ?>"><? echo $zoom ?></option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
</select>

<input type="hidden" name="latitude" id="latitude" value="" >
<input type="hidden" name="longitude" id="longitude" value="" >
</form>
<fieldset height="400px">
                    <legend>Example: Address Search Form</legend>
                    <label for="address">Address: <input type="text" name="address" id="address" value="Portugal, Lisboa" /></label>
                    <input id="address-submit-1" type="submit" value="Find Address">
                    <div class="error"></div>
                </fieldset>

<br />
<br />
<div id="map" style="width:450px;height:340px;"></div>
<div id="estado">s</div>
</body>
</html>

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso que aí está é código PHP que recebe parâmetros do URL e os atribui a variáveis, não faz mais nada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu no meu browser faço inserção de pointers no mapa grava na bd, e inicializo o mapa com lat/long definida, e altero o tipo de mapa e zoom com onchange das select box.. não perçebo como "não faz mais nada", o problema disto e so mesmo a pesquisa de mapa e centra-lo na pesquisa efectuada isso é que não sei como possa resolver..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora