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

Sign in to follow this  
xploit

google maps aplicação

Recommended Posts

xploit

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  😎

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

Share this post


Link to post
Share on other sites
pedrotuga

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

Share this post


Link to post
Share on other sites
xploit

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..

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.