Jump to content


Photo

Googlemaps Com Mysql No Php


  • Faça o login para participar
1 reply to this topic

#1 betodesign

betodesign

    Normal

  • Usuários
  • 85 posts
  • Sexo:Não informado

Posted 12/10/2010, 23:54

estou tentando fazer o endereco o imovel cadastrado no mysql do site da minha imobiliaria abrir no googlemaps, li alguns posts mas ate agora nao achei uma maneira pratica e simples de fazer isso, acredito que tenha...
ex: quando abrir os detalhes do imovel em vez de abrir o endereco escrito, ja abriria no mapa.

#2 Haetten

Haetten

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 14/10/2010, 11:14

estou tentando fazer o endereco o imovel cadastrado no mysql do site da minha imobiliaria abrir no googlemaps, li alguns posts mas ate agora nao achei uma maneira pratica e simples de fazer isso, acredito que tenha...
ex: quando abrir os detalhes do imovel em vez de abrir o endereco escrito, ja abriria no mapa.


Fiz isso para um cliente também. É simples.
Basicamente, você deve:
1 - pegar o endereço do BD (Lembrando que este deve estar bem formatado, algo como 'Rua NOMERUA, NUMERO - CIDADE/ESTADO', para que não ocorram erros na localização do endereço);
2 - obter os dados de latitude e longitude (simplementente executando o método 'gMaps->geolocal($endereco)');
3 - criar um objeto para receber o mapa;
4 - passar os dados de latitude e longitude obtidos via PHP para um JavaScript e gerar o mapa, carregando-o no objeto de destino.
5 - correr pro abraço. :D

O código deve ficar semelhante a isso:

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

	include 'gMaps.php';
	
	// Instancia a classe
	$gmaps = new gMaps('<<SuaChaveGmapsAPI>>');
	
	// Pega os dados (latitude, longitude e zoom) do endereço:
	$endereco = $imovel['endereco'];
	$dados = $gmaps->geolocal($endereco);
?>
<div id="mapa"></div> <!-- DIV onde mapa será carregado. -->

<script>
if (GBrowserIsCompatible()) {
	var map = new GMap2(document.getElementById("mapa"));
	var lat = <?php echo $dados['lat']; ?>; // Latitude do marcador
	var lon = <?php echo $dados['lon']; ?>; // Longitude do marcador
	var zoom = 15; // Zoom

	map.addControl(new GMapTypeControl());
	map.addControl(new GLargeMapControl());
	map.setCenter(new GLatLng(lat, lon), zoom);

	var marker = new GMarker(new GLatLng(lat,lon));

	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml("<h2><?php echo $imovel['nome_categoria'].' - '.$imovel['nome_operacao']; ?></h2><p><?php echo $imovel['endereco']; ?></p>");
	});											

	map.addOverlay(marker);
	map.setCenter(new GLatLng(lat, lon), zoom);
}
</script>


Você pode ver um exemplo funcionando aqui: http://www.imobiliar...ovel.php?id=48.

Não esquece de responder e dar un tnx se dar certo.

Abraços.

Edição feita por: Haetten, 14/10/2010, 11:15.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq