Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Macêdo

[Resolvido] Google Maps e Consulta PHP/MySQL

Recommended Posts

Amigos,

 

estou com uma tabela com colunas ID e ENDERECO e estes estão com algumas informações salvas já.

 

Estou querendo pegar um código de iframe lá do google maps e fazer com que o php faça uma consulta no mysql e retorne o endereço e preencha nesse código do mapa pra incluir o mapa no site.

 

Se por acaso eu chegar no Google Maps e digitar "Brasília - DF" ele vai me retornar o código abaixo para integrar no site, mas eu quero fazer algo mais dinâmico com essa consulta do local, onde dependendo do resultado ele altere no código abaixo e funcione corretamente.

 

Tentei alterar só na parte do endereço, mas tem outras coisas que fazem dar erro se o endereço for diferente do que foi consultado no site do google.

 

Abaixo um exemplo:

<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.br/maps?f=q&source=s_q&hl=pt-BR&geocode=&q=Bras%C3%ADlia+-+DF&sll=-9.653253,-35.708947&sspn=0.019715,0.038624&g=Av.+J%C3%BAlio+Marques+Luz,+Macei%C3%B3,+57035-700&ie=UTF8&ll=-15.477504,-47.793274&spn=1.23204,2.471924&z=9&iwloc=addr&output=embed&7g"></iframe><br /><small><a href="http://maps.google.com.br/maps?f=q&source=embed&hl=pt-BR&geocode=&q=Bras%C3%ADlia+-+DF&sll=-9.653253,-35.708947&sspn=0.019715,0.038624&g=Av.+J%C3%BAlio+Marques+Luz,+Macei%C3%B3,+57035-700&ie=UTF8&ll=-15.477504,-47.793274&spn=1.23204,2.471924&z=9&iwloc=addr" style="color:#0000FF;text-align:left">Exibir mapa ampliado</a></small>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, recentemente fiz um site para uma imobiliária que utiliza o google maps, dá uma olhada neste código e tenta modificar de acordo com sua necessidade. Ah, mais uma coisa, o id do imóvel é enviado via GET, portanto para o mapa aparecer tem que colocar, por exemplo: suapagina.php?id=40 .

 

Se ficou difícil de entender entra no site e dá uma olhada: Lux Imóveis

 

<?php 
require_once('include/conexao.php');

$sql = mysql_query("SELECT * FROM tb_imoveis WHERE id_imovel = $_GET[id] AND mostrar_site = 'Sim' ");
$dados = mysql_fetch_array($sql);

$endereco_imovel = $dados[endereco_imovel];

$sql2 = mysql_query("SELECT * FROM tb_cidades WHERE id_cidade = '$dados[cidade_imovel]'");
$dados2 = mysql_fetch_array($sql2);

?>

<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA7ALIhmuicXw0ZBdCFpRIWBSVQhBzeZ2MFgAml-jf3frRPC8j0xQccAhyGgXH72CGNPg5ztLDvrmO2w" type="text/javascript"></script>
<script type="text/javascript">

	var map;
	var gdir;
	var geocoder = null;
	var addressMarker;
	
	var minhaLocalizacao = "<?php echo $endereco_imovel; ?> - <?php echo $dados2[nome_cidade]; ?>, RS" //Localização inicial passada como ponto de partida

	function inicializar_gmaps() {
	  if (GBrowserIsCompatible()) {	  
		map = new GMap2(document.getElementById("div_mapa")); //Local onde o mapa gerado deve ficar
		gdir = new GDirections(map, document.getElementById("direcoes")); //Local para ficar o "passo-a-passo" pra chegar ao destino
		GEvent.addListener(gdir, "error", gmaps_erros); //Define qual função vai manipular os erros retornados
	  }
	}

	function gmaps_erros() {
	if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
		gdir.getStatus().code

	else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
		alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);

	else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
		alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);
	
	else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);
	
	else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);
	
	else alert("Um erro desconhecido aconteceu.");
	   
	}
	
	function mapsPesquisa(irPara) {
	//Responsavel por iniciar o carregamento dos mapas nos locais especificos
	gdir.load("from: " + minhaLocalizacao + " to: " + irPara);
}

</script>
<body onload="inicializar_gmaps(); mapsPesquisa(document.getElementById('irPara').value);" >

<div id="tabela_maps">
<table class="directions">

<tr>
<td valign="top"><div id="div_mapa" style="width: 600px; height: 400px"></div></td>
</tr>
</table>
<table>
<tr>
<td><strong>Perdido? Digite seu endereço:</strong></td>
<td><input type="text" size="25" id="irPara" value="<?php echo $endereco_imovel; ?> - <?php echo $dados2[nome_cidade]; ?>, RS" /></td>
<td><input type="button" value="Procurar" onClick="mapsPesquisa(document.getElementById('irPara').value)" /></td>
</tr>
</table>
</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Anderson

 

usei o seu codigo com pequenas alterações

para adapatar ao meu site

e tá funcionado 100%

 

<?php 
include "header.php";

$sql = mysql_query("SELECT * FROM plus_signup WHERE user_id = '1' ");
$dados = mysql_fetch_array($sql);

$endereco_imovel = $dados[endereco];
$cidade_imovel = $dados[cidade];
$estado_imovel = $dados[estado];
?>

<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYdenHllTvDWKCKx5jJOyhhSPDx1qyUV_1BPLZnrsoH2M5fzhQhSp8l4oenxNGXsk5KAqyQBU4P2PKQ" type="text/javascript"></script>

<script type="text/javascript">

        var map;
        var gdir;
        var geocoder = null;
        var addressMarker;
        
        var minhaLocalizacao = "<?php echo $endereco_imovel; ?> ,<?php echo $cidade_imovel; ?>,<?php echo $estado_imovel; ?>" //Localização inicial passada como ponto de partida

        function inicializar_gmaps() {
          if (GBrowserIsCompatible()) {   
                map = new GMap2(document.getElementById("div_mapa")); //Local onde o mapa gerado deve ficar
                gdir = new GDirections(map, document.getElementById("direcoes")); //Local para ficar o "passo-a-passo" pra chegar ao destino
                GEvent.addListener(gdir, "error", gmaps_erros); //Define qual função vai manipular os erros retornados
          }
        }

        function gmaps_erros() {
        if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
                gdir.getStatus().code

        else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
                alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);

        else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
                alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);
        
        else if (gdir.getStatus().code == G_GEO_BAD_KEY)
        alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);
        
        else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
        alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);
        
        else alert("Um erro desconhecido aconteceu.");
           
        }
        
        function mapsPesquisa(irPara) {
        //Responsavel por iniciar o carregamento dos mapas nos locais especificos
        gdir.load("from: " + minhaLocalizacao + " to: " + irPara);
}

</script>
<body onload="inicializar_gmaps(); mapsPesquisa(document.getElementById('irPara').value);" >

<div id="tabela_maps">
<table class="directions">

<tr>
<td valign="top"><div id="div_mapa" style="width: 300px; height: 300px"></div></td>
</tr>
</table>

<table>
<tr>
<td><input type="text" size="25" id="irPara" value="<?php echo $endereco_imovel; ?> ,<?php echo $cidade_imovel; ?>,<?php echo $estado_imovel; ?>" /></td>
</tr>
</table>

</div>

</body>
</html>

Obrigado Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.