Salve a tutti.
Sto cercando di visualizzare una serie di marker su una mappa di google inserita uin una pagina web.
Lavoro con VS 2010 e javascript.
Sul sito di google developers ho trovato come disegnare i marker, ma la mia applicazione non ne vuole sapere.
Dalla parte VB.net creo una query da un db postgres usando NpgSqlConnection, creo una stringa che passo alla funzione javascript che la elabora e dovrebbe disegnare i punti sulla mappa.
La funzione che uso è la seguente:
Il problema sta nella parte in rosso, perché pare che in quel punto le variabili Puntis diano valore 'undefined'.
Ho provato a passarle in mille e più modi, nell'ultimo mese ci ho perso veramente un sacco di tempo, ma non c'è stato verso.
Per la verità questa funzione è successiva ad un'altra che si chiama inizialize, sempre in javascript, che alla pressione di un pulsante trova la via indicata in una textbox, la visualizza, centra la mappa su di essa e ne disegna correttamente il marker 'CentroMappa'; tale funzione termina con la riga
Non so se è questa che gli dà fastidio, fatto sta che o non mi disegna i punti lasciandomi la mappa vuota, oppure va in debug, oppure ancora disegna 5 punti che sono quelli che mi aspetto in quella zona, ma li disegna in posizioni errate di un centinaio di metri.
Il fatto è che ho rivoltato questo codice come un calzino, ma non disegna ancora ciò che voglio.
Come ho detto nella mia presentazione, da parecchio tempo sono iscritto ad un altro forum, a cui ho ovviamente esposto questa mia problematica, purtroppo senza risolverla. Ovviamente anche gli utenti dell'altro forum mi hanno dato parecchie indicazioni, ed io rispettando la giusta netiquette mi son guardato bene dal fare postcrossing. Ritengo però che il tempo trascorso da quando ho chiesto aiuto sia sufficiente da giustificare la richiesta anche a Voi, senza nulla togliere alla disponibilità degli utenti dell'altro forum.
Ringrazio tutti, ciao, Ugo.
Sto cercando di visualizzare una serie di marker su una mappa di google inserita uin una pagina web.
Lavoro con VS 2010 e javascript.
Sul sito di google developers ho trovato come disegnare i marker, ma la mia applicazione non ne vuole sapere.
Dalla parte VB.net creo una query da un db postgres usando NpgSqlConnection, creo una stringa che passo alla funzione javascript che la elabora e dovrebbe disegnare i punti sulla mappa.
La funzione che uso è la seguente:
Codice:
function DisegnaPunti(Punti) {
geocoder = new google.maps.Geocoder();
//crea l'array dalla stringa passata da vb.net
var Puntis = Punti.split(",").map(String);
//ciclo che disegna i Punti
var posto;
for (var i = 0; i != Puntis.length; i = i + 2) {
//alert(Puntis[i])
posto = '(' + parseFloat(Puntis[i]) + ', ' + parseFloat(Puntis[i + 1]) + ')';
geocoder.geocode({ 'address': '(' + parseFloat(Puntis[i]) + ', ' + parseFloat(Puntis[i + 1]) + ')' }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.setZoom(18);
[COLOR="#FF0000"] var marker = new google.maps.Marker({
map: map,
location: new google.maps.LatLng(parseFloat(Puntis[i]) + ', ' + parseFloat(Puntis[i + 1]), //parseFloat(Puntis[i]) + ', ' + parseFloat(Puntis[i + 1])),
// oppure questa al posto di location position: results[0].geometry.location
icon: 'Immagini/mm_20_red.png',
title: 'Coordinate: ' + Puntis[i] + ', ' + Puntis[i + 1] + ' - ' + results[0].geometry.location
}); //chiude var marker
[/COLOR] alert(results[0].geometry.location)
} else {
alert('Ciao - Geocode was not successful for the following reason: ' + status);
} //chiude if
}); //chiude geocoder
} //chiude for
} //chiude function
Ho provato a passarle in mille e più modi, nell'ultimo mese ci ho perso veramente un sacco di tempo, ma non c'è stato verso.
Per la verità questa funzione è successiva ad un'altra che si chiama inizialize, sempre in javascript, che alla pressione di un pulsante trova la via indicata in una textbox, la visualizza, centra la mappa su di essa e ne disegna correttamente il marker 'CentroMappa'; tale funzione termina con la riga
Codice:
google.maps.event.addDomListener(window, 'load', initialize);
Il fatto è che ho rivoltato questo codice come un calzino, ma non disegna ancora ciò che voglio.
Come ho detto nella mia presentazione, da parecchio tempo sono iscritto ad un altro forum, a cui ho ovviamente esposto questa mia problematica, purtroppo senza risolverla. Ovviamente anche gli utenti dell'altro forum mi hanno dato parecchie indicazioni, ed io rispettando la giusta netiquette mi son guardato bene dal fare postcrossing. Ritengo però che il tempo trascorso da quando ho chiesto aiuto sia sufficiente da giustificare la richiesta anche a Voi, senza nulla togliere alla disponibilità degli utenti dell'altro forum.
Ringrazio tutti, ciao, Ugo.