Ciao, sono un po inesperto in javascript, non trovo l'errore.
Vorrei che da un semplice form dove si inserisce l'indirizzo, si chiami un'altra pagina che crei la mappa:
Ho creato due pagine:
form.asp
-----------------------------------------------------------------------------------------
<form id="mod_geo" action="mappa.asp" style="margin-bottom:0px; margin-top:0px;">
<div id="modulo">
via:<input type="text" name="clvia" />
civico:<input type="text" name="clcivico" />
citta:<input type="text" name="clcitta" />
provincia:<input type="text" name="clprovoncia" />
<input type="submit" name="submit" value="invia" />
</div>
</form>
------------------------------------------------------------------------------------------
mappa.asp
------------------------------------------------------------------------------------------
<head>
<%
clvia=trim(request("clvia"))
clcivico=trim(request("clcivico"))
clcitta=trim(request("clcitta"))
clprovincia=trim(request("clprovincia"))
claddress = clvia & "%20" & clcivico & "%20" & clcitta & "%20" & clprovincia
%>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA7JPjiDev4E5B X7NUc_HqmBSiFVRLph-9Hcr4UszTDb0idQKt4RT2f5qtBMrez9o5cJHwDx7LOuX3Lg"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var map = null;
var geocoder = null;
function load()
{
if (GBrowserIsCompatible())
{
// Crea mappa
map = new GMap2(document.getElementById("map"));
// Creo GeoCoder Max 1.6 query/sec
geocoder = new GClientGeocoder();
// Imposta centro su Roma (LAT 41.90, LONG 12.49)
map.setCenter(new GLatLng(41.90, 12.49), 5);
// Visualizza controlli - TIPO MAPPA
map.addControl(new GMapTypeControl());
// Visualizza controlli - ZOOM GRANDE
map.addControl(new GLargeMapControl());
}
}
// Crea il marker con la label passata come parametro
function createMarker(point, label)
{
// Variabile marker
var marker = new GMarker(point);
// Crea listener per il click sull'oggetto
GEvent.addListener(marker, "click", function()
{
marker.openInfoWindowHtml(label);
});
return marker;
}
// Traduce indirizzo inserito in coordinate tramite GeoCoder, altrimenti cerca nel database
var address = "<%=claddress%>"
function showAddress(address)
{
geocoder.getLatLng(address,
function(point)
{
if (!point)
{
// Indirizzo non trovato, cerca nel database.
alert(address + " non trovato!");
}
else
{
// Indirizzo trovato, centra la mappa
map.setCenter(point, 10);
// Crea il marker
map.addOverlay(createMarker(point, address));
}
});
}
//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 570px; height: 320px">
</div>
</body>
-----------------------------------------------------------------------------------------
Cosi non va ma il problema secondo me è che non so richiamare la funzione per tradurre l'indirizzo "showaddress()".
Se avete un tutorial ne sarei felice.
Grazie