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



Postagens
Não informado
