Ho bisogno di capire come fare a passare alcuni dati estratti da un database in una pagina che mi consenta di visualizzare una mappa.
Mi spiego meglio.
Estraggo da un database l'elenco di tutte le farmacie di turno in una pagina chiama "turni.asp".
Per ognuna delle farmacie che visualizzo vorrei inserire un link che mi manda ad una pagina chiamata "mappa.asp" dove i dati relattivi a "Farmacia", Indirizzo", "Lat" e "Lon" relativi a queste mi consentono di visualizzarne la mappa.
Per maggior chiarimento inserisco i codici di pagina
== pagina "turni.asp" =============================
<%
Data=request.form("Data")
Provincia=request.form("Provincia")
Localita=request.form("Localita")
Farmacia=request.form("Farmacia")
Indirizzo=request.form("Indirizzo")
Telefono=Request.form("Telefono")
OrarioTurno=Request.form("OrarioTurno")
Lat=Request.form("Lat")
Lon=Request.form("Lon")
%>
<%
sql="select * from Turni1sem2011 where Data = Data and Localita like '%"&Localita&"%' order by Localita ASC"
%>
<%
set OBJdbConnection=Server.CreateObject("ADODB.Connect ion")
OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("database/pharma.mdb")
set rs=OBJdbConnection.Execute(sql)
%>
<%
Do while not rs.EOF
i=i+1
%>
<%
if Date()=RS("Data") then
%>
<%response.write rs("Localita")%>
<%response.write rs("Farmacia")%>
<%response.write rs("Indirizzo")%>
<%response.write rs("Telefono")%>
Orario turno: <%response.write rs("OrarioTurno")%>
<%
end if
RS.MoveNext
Loop
RS.Close
OBJdbConnection.Close
%>
</table>
================================================== =========
= pagina "mappa.asp" ==
<%
Localita=request.form("Localita")
Farmacia=request.form("Farmacia")
Indirizzo=request.form("Indirizzo")
Lat=Request.form("Lat")
Lon=Request.form("Lon")
%>
<%
sql="select * from ASL-ElencoFarmacie where Farmacia = Farmacia and Lan = Lat and Lon = Lon"
%>
<%
set OBJdbConnection=Server.CreateObject("ADODB.Connect ion")
OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("database/pharma.mdb")
set rs=OBJdbConnection.Execute(sql)
%>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAOi_GHlTFHVhA ovtSD0fBTRTD4jnCYBjwJiLtijKTDdSk3VKB1RQoK_AWiyo7eQ GYZLILiCHsxpvvbA&sensor=false" type="text/javascript"></script>
<script type="text/javascript">
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(<%response.write rs("Lat")%>, <%response.write rs("Lon")%>), 15);
map.setUIToDefault();
function createMarker(point, description) {
var marker = new GMarker(point);
GEvent.addListener(marker, "mouseover", function() {
marker.openInfoWindowHtml(description)});
return marker;}
map.addOverlay(createMarker(new GLatLng(<%response.write rs("Lat")%>, <%response.write rs("Lon")%>), "<%response.write rs("Farmacia")%>"));
gdir = new GDirections(map, document.getElementById("directions"));
GEvent.addListener(gdir, "error", handleErrors);
}
}
function setDirections(fromAddress) {
locale="it";
gdir.load("from: " + fromAddress + " to: <%response.write rs("Indirizzo")%>");
}
function handleErrors(){
if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
alert("Indirizzo non trovato - Provare ad inserire sia 'Indirizzo' che 'Comune' di partenza");
else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
alert("Si è verificato un errore nella geocodifica degli indirizzi");
else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
alert("Manca un parametro");
else if (gdir.getStatus().code == G_GEO_BAD_KEY)
alert("Errore nella Key Api.");
else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
alert("La richiesta non puo' essere correttamente risolta.");
else alert("Si è verificato un errore");
}
</script>
<div align="center">
<table width="70%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td align="center">
<div id="map_canvas" style="width: 700px; height: 500px"></div>
<div id="location">
<form action="#" onsubmit="setDirections(this.partenza.value); return false">
parti da:<input type="text" name="partenza"><input type="submit" value="Calcola">
</form>
</div>
<div id="directions" style="width: 700px"></div>
</td>
</tr>
</table>
<%
RS.Close
OBJdbConnection.Close
%>
=======================
La pagina "mappa.asp" funziona se inserisco i dati manualmente tutti i dati che sono necessari (farmacia, indirizzo, latitudine e longitudine) ma trovo assurdo dover realizzare 200 pagine (una per ogni farmacia) quando posso recuperare i dati dal DB.
Qualcuno può aiutarmi?

Rispondi quotando