Bueno parece que ya encontré una solución para mostrar un mapa de google partiendo de la dirección. Para probarlo solo hay que inicializar en el onload la funcion loading() y tener un campo hidden llamado dirección que contenga valga la redundancia la dirección tipo [dirección, provincia], ej.[Avenida Diagonal 50, Barcelona]
Código:
<script de api de google>
<script type="text/javascript">
function loading() {
//Direccion
var direccion= document.getElementById("direccion").value;
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(0,0), 0);
map.addControl(new GSmallMapControl());
map.addControl(new GScaleControl());
map.addControl(new GMapTypeControl());
GEvent.addListener(map, "click", function(overlay, point){
if(overlay){
if(overlay.title)
map.openInfoWindowHtml(overlay.getPoint(), overlay.title);
}
});
var geocoder = new GClientGeocoder();
geocoder.getLatLng(direccion, function(point) {
if (!point) {
alert("Lugar no encontrado");
} else {
map.setCenter(point, 15); // 12 indica el valor de zoom
var center = new GMarker(map.getCenter());
center.title = "albacete";
map.addOverlay(center);
map.openInfoWindowHtml(center.getPoint(), center.title);
}
});
var center = new GMarker(map.getCenter());
center.title = "Centro del mapa";
map.addOverlay(center);
map.openInfoWindowHtml(center.getPoint(), center.title);
}
}
//]]>
</script>