Salve sto cercando di rappresentare graficamente tutti i marker di segnalazioni inserite in un database access, non sono un esperto di Javascript ed ho cercato di modificare questo script per le mie esigenze ma ho un problema con gli indirizzi caricati nel database che Google map non trova o che non sono riportati correttamente. Ho provato diverse soluzioni ma non riesco a "saltare" l'errore "ZERO_RESULTS", potete aiutarmi a risolvere il mio problema, dimodoché ogni volta che trova un record con una via non raggiungibile, salti l'errore e passi avanti?
Di seguito il mio script
<%
dbfile=Server.MapPath("xxx.mdb")
Set OBJdbConnection=Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&dbfile
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT xxx.*, Tab_strade.* FROM Tab_strade INNER JOIN xxx ON Tab_strade.id_via = xxx.id_via"
rs.Open sql, OBJdbConnection, 3, 3
totale=rs.recordcount-1
do while not rs.eof
via = via & rs.fields(8) &" milano" & "##"
titolo=titolo & rs.fields(10) & "##"
rs.movenext
loop
set rs = Nothing
OBJdbConnection.Close
set OBJdbConnection=Nothing
%>
<html>
<head>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="Fluster2.packed.js"></script>
<script type="text/javascript">
var geocoder;
var map;
descrizioni = new Array();
indirizzi = new Array();
<%
for wa= 0 to totale
viax=split(via,"##")
titolox=split(titolo,"##")
vias=viax(wa)
titolos=titolox(wa)
%>1
indirizzi[<%=wa%>]="<%=vias%>";
descrizioni[<%=wa%>]="<%=titolos%>";
<%
next
%>
lunghciclo = descrizioni.length; //variabile di appoggio contenente il numero di elementi del vettore
function visualizzamappa() {
geocoder = new google.maps.Geocoder();
var opzioni = {zoom: 13, mapTypeId: google.maps.MapTypeId.ROADMAP}
map = new google.maps.Map(document.getElementById("map_canvas"), opzioni);
// ciclo FOR che attiva la funzione di geocoding per ogni elemento del vettore indirizzi[x]
for (var x=0; x<lunghciclo; x++)
//window.setTimeout( function() { codifica_indirizzi(indirizzi[x], descrizioni[x]); }, 500 );}
{ codifica_indirizzi(indirizzi[x], descrizioni[x]); }
}
// funzione che effettua il geocoding dell'indirizzo stradale e crea il relativo marker completo di descrizione
function codifica_indirizzi(indirizzi, titolo)
{
geocoder.geocode({ 'address': indirizzi}, function(results, status)
{
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker
({ map: map,
position: results[0].geometry.location,
title: titolo });
});
}
</script>
</head>
<body style="margin:5px; padding:5px;" onload="visualizzamappa()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>
Di seguito il mio script
<%
dbfile=Server.MapPath("xxx.mdb")
Set OBJdbConnection=Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&dbfile
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT xxx.*, Tab_strade.* FROM Tab_strade INNER JOIN xxx ON Tab_strade.id_via = xxx.id_via"
rs.Open sql, OBJdbConnection, 3, 3
totale=rs.recordcount-1
do while not rs.eof
via = via & rs.fields(8) &" milano" & "##"
titolo=titolo & rs.fields(10) & "##"
rs.movenext
loop
set rs = Nothing
OBJdbConnection.Close
set OBJdbConnection=Nothing
%>
<html>
<head>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="Fluster2.packed.js"></script>
<script type="text/javascript">
var geocoder;
var map;
descrizioni = new Array();
indirizzi = new Array();
<%
for wa= 0 to totale
viax=split(via,"##")
titolox=split(titolo,"##")
vias=viax(wa)
titolos=titolox(wa)
%>1
indirizzi[<%=wa%>]="<%=vias%>";
descrizioni[<%=wa%>]="<%=titolos%>";
<%
next
%>
lunghciclo = descrizioni.length; //variabile di appoggio contenente il numero di elementi del vettore
function visualizzamappa() {
geocoder = new google.maps.Geocoder();
var opzioni = {zoom: 13, mapTypeId: google.maps.MapTypeId.ROADMAP}
map = new google.maps.Map(document.getElementById("map_canvas"), opzioni);
// ciclo FOR che attiva la funzione di geocoding per ogni elemento del vettore indirizzi[x]
for (var x=0; x<lunghciclo; x++)
//window.setTimeout( function() { codifica_indirizzi(indirizzi[x], descrizioni[x]); }, 500 );}
{ codifica_indirizzi(indirizzi[x], descrizioni[x]); }
}
// funzione che effettua il geocoding dell'indirizzo stradale e crea il relativo marker completo di descrizione
function codifica_indirizzi(indirizzi, titolo)
{
geocoder.geocode({ 'address': indirizzi}, function(results, status)
{
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker
({ map: map,
position: results[0].geometry.location,
title: titolo });
});
}
</script>
</head>
<body style="margin:5px; padding:5px;" onload="visualizzamappa()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>