Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    GoogleMap e JScript e variabili globali...

    Buongiorno,

    ho un problema, credo di facile risoluzione, purtroppo non ne vengo a capo.

    Ho una pagina ASP nella quale ho inserito il codice per l'utilizzo del Javascript di GoogleMap, all'interno del quale recupero da un database dinamicamente la latitudine e la longitudine per la visualizzazione corretta del marker, base alla scelta di un ID del database, che a sua volte corrisponde ad una registrazione di un utente al sito.

    <!--
    You are free to copy and use this sample in accordance with the terms of the
    Apache license (http://www.apache.org/licenses/LICENSE-2.0.html)
    -->

    <!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" xmlns:v="urn:schemas-microsoft-com:vml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google Maps V3 API Sample</title>
    <script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=ABQIAAAAddD3O5fXuL _HtKIUrjJ-ahSuL8FB-3nxjrLtXKyxIpjPm1Kp3xRvHfX4ZC0GDp_MreM6ZsPf6aHz9w" ></script>
    <script language= "Javascript">

    var map = null;
    var geocoder = null;
    var Lat = null;
    var Lon = null;

    function createMarker(point, description)
    {
    var marker = new GMarker(point);
    GEvent.addListener(marker, "click", function ()
    {
    marker.openInfoWindowHtml(description);
    });
    return marker;
    }

    function pageLoaded()
    {
    if (GBrowserIsCompatible())
    {

    if (Lat = null) and (Lon = null)
    {
    Lat = 44.719704;
    Lon = 9.79313;

    map = new GMap2(document.getElementById("map"));

    /*controller barra vert*/
    map.addControl(new GLargeMapControl());

    /*COORDINATE DI PARTENZA DELLA MAPPA + LIVELLO ZOOM INIZIALE*/
    map.setCenter(new GLatLng(Lat, Lon), 16);

    map.addOverlay(createMarker(new GLatLng(Lat, Lon)));
    }
    }
    }

    </script>

    </head>


    <%

    ' Recupero il Valori dalla tabella
    Dim Id, Rif, Nome, Cognome, Via, Citta, Cap, Mail, Tel, chkconenso, optStruttura, Note
    Dim Dal, Al, ImportoSett, ImportoMens, ImportoAnn, optStato, Latitudine, Longitudine, Zoom
    Dim Img01, Percorso01, Img02, Percorso02, Img03, Percorso03, Planimetria, Percorso04
    Dim DtIns, Tipo, Mq, Num_camere, Num_Bagni, Riscaldamento, Garage, Arredato

    Id = 1
    ImportoSett = 0
    ImportoMens = 0
    ImportoAnn = 0
    Latitudine = 16.16566
    Longitudine = 41.87854
    Zoom = 0
    optStruttura = 1
    optStato = 1
    chkconenso = True
    Tipo = 2 '1= Vendita 2=Affitto
    Mq = 0
    Num_Camere = 0
    Num_Bagni = 0
    Riscaldamento = ""
    Garage = False
    Arredato = False
    Img01 = ""
    Percorso01 = ""
    Img02 = ""
    Percorso02 = ""
    Img03 = ""
    Percorso03 = ""
    Planimetria = ""
    Percorso04 = ""

    Id = 1
    'Id = Clng(Request.QueryString("Id"))
    Rif = Clng(Request.QueryString("Rif"))

    sz_sql = "SELECT Anagrafica.Id, Anagrafica.Rif, Anagrafica.Nome, Anagrafica.Cognome, Anagrafica.Via, Anagrafica.Citta," & _
    " Anagrafica.Cap, Anagrafica.Mail, Anagrafica.Tel, Anagrafica.Consenso, Anagrafica.DataIns, Anagrafica.Flag_Nascondi," & _
    " Struttura_Case.Tipo_Struttura, Struttura_Case.Dal_periodo, Struttura_Case.Al_periodo, Struttura_Case.Importo_Sett," & _
    " Struttura_Case.Importo_Mens, Struttura_Case.Importo_Anno, Struttura_Case.Stato, Struttura_Case.descrizione," & _
    " Struttura_Case.Img01, Struttura_Case.Percorso01, Struttura_Case.Img02, Struttura_Case.Percorso02, Struttura_Case.Img03," & _
    " Struttura_Case.Percorso03, Struttura_Case.Planimetria, Struttura_Case.Percorso04, Struttura_Case.Latitudine," & _
    " Struttura_Case.Longitudine, Struttura_Case.Zoom, Struttura_Case.data_ins, Struttura_Case.Tipo, Struttura_Case.Mq," & _
    " Struttura_Case.Num_Camere, Struttura_Case.Num_Bagni, Struttura_Case.Riscaldamento, Struttura_Case.Garage, Struttura_Case.Arredato" & _
    " FROM Anagrafica INNER JOIN Struttura_Case ON Anagrafica.Id = Struttura_Case.Id_Anagrafica" & _
    " WHERE Anagrafica.Id = " & Id & " AND Flag_Nascondi = False"

    rsc.Open sz_sql, cn

    If rsc.Eof then
    LS_Descrizione = "Anagrafica non trovata !"
    response.write (LS_Descrizione)
    response.end
    Else

    'Nome = rsc("Nome")
    'Cognome = rsc("Cognome")
    'Citta = rsc("Citta")
    'Via = rsc("Via")
    'Cap = rsc("Cap")
    Mail = rsc("Mail")
    'Tel = rsc("Tel")
    'chkconenso = rsc("Consenso")
    optStruttura = rsc("Tipo_Struttura") ' 1=Appartamento 2=Casa
    Note = rsc("descrizione")
    Dal = rsc("Dal_periodo")
    Al = rsc("Al_periodo")
    ImportoSett = formatcurrency(rsc("Importo_Sett"))
    ImportoMens = formatcurrency(rsc("Importo_Mens"))
    ImportoAnn = formatcurrency(rsc("Importo_Anno"))
    optStato = rsc("Stato") ' 1=Libero 2=Occupato
    ' Latitudine = rsc("Latitudine")
    ' Longitudine = rsc("Longitudine")
    Zoom = rsc("Zoom")
    Tipo = rsc("Tipo") ' 1= Vendita 2=Affitto
    Mq = rsc("Mq")
    Num_Camere = rsc("Num_Camere")
    Num_Bagni = rsc("Num_Bagni")
    Riscaldamento = rsc("Riscaldamento")
    Garage = rsc("Garage") 'Si/No
    Arredato = rsc("Arredato") 'Si/No
    Img01 = rsc("Img01")
    Percorso01 = rsc("Percorso01")
    Img02 = rsc("Img01")
    Percorso02 = rsc("Percorso01")
    Img03 = rsc("Img01")
    Percorso03 = rsc("Percorso01")
    Img01 = rsc("Planimetria")
    Percorso01 = rsc("Percorso04")
    data_ins = rsc("data_ins")

    End if

    call Disconnessione()

    If optStruttura = 1 Then ' 1=Appartamento 2=Casa
    optStruttura = "Appartamento"
    Else
    optStruttura = "Casa"
    End if

    If optStato = 1 Then ' 1=Libero 2=Occupato
    optStato = "Libero"
    Else
    optStato = "Occupato"
    End if

    If Tipo = 1 Then ' 1= Vendita 2=Affitto
    Tipo = "Vendita"
    Else
    Tipo = "Affitto"
    End if

    If Garage = "True" Then '
    Garage = "Si"
    Else
    Garage = "No"
    End if

    If Arredato = "True" Then '
    Arredato = "Si"
    Else
    Arredato = "No"
    End if

    %>

    <body onload="pageLoaded();" onunload="GUnload();">
    <div id="map" style="width: 500px; border: 3px double #EAC535; height: 400px"></div>
    <!--Milano
    -->
    Milano

    <script type="text/javascript">
    function prova(Lat, Lon) {
    if (GBrowserIsCompatible())
    {

    Lat = <%=Latitudine%>;
    Lon = <%=Longitudine%>;
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.setCenter(new GLatLng(Lat, Lon), 16);
    map.addOverlay(createMarker(new GLatLng(Lat, Lon)));
    }
    }

    </script>
    </body>
    </html>

    L'idea di fondo è passare a Lat e Lon il valore prelevato dal db, in questo sample code ho valorizzato a mano Longitudine e Latitudine per testare che almeno prenda le due variabili valorizzate. Ma nada.

    Qualche suggerimento?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Modifica l'if dove controlli se le variabile Lan e Lon siano valorizzate.

    codice:
    if (Lat == null && Lon == null)
    p.s. posta il codice all'interno del tag code altrimenti non si capisce nulla.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ho provato il codice che hai postato e a parte quell'if funzione tutto bene...

  4. #4
    A me non passa le Longitudine e Latitudine nella nuova funzione denominata prova.
    A te passa i dati?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Nella mia prova ho tolto ovviamente tutta la parte in asp... La funzione prova cosi come l'hai definita non si aspetta nessun parametro in input quindi nella dichiarazione del metodo devi togliere i due parametri Lat e Lon:

    codice:
    function prova() {
    if (GBrowserIsCompatible()) 
    {
    
    Lat = <%=Latitudine%>;
    Lon = <%=Longitudine%>;
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.setCenter(new GLatLng(Lat, Lon), 16);
    map.addOverlay(createMarker(new GLatLng(Lat, Lon)));
    }
    }
    Inoltre i valori tu li prendi direttamente da asp quindi verifica se li recuperi correttamente...

  6. #6
    Ok ho verificato ed è tutto ok eccetto solo un piccolo particolare, usando le coordinate di una località in italia es. Bore, e passando Longitudine e Latitudine di Bore, il cursore del marker si piazza in una regione dell'Asia.

    Per trovare le coordinate di Bore ho fatto questo:

    - Aperto google map, digitato nell'indirizzo Bore e quindi lanciato nella addressbar del browser uno script utility che ti apre una pop window con le coordinate della località che stai visualizzando.
    Ho inserito le coordinate, ma il cursore se ne va in Asia.

    Ti aggiorno il codice che ho scritto:


    <!--
    You are free to copy and use this sample in accordance with the terms of the
    Apache license (http://www.apache.org/licenses/LICENSE-2.0.html)
    -->

    <!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" xmlns:v="urn:schemas-microsoft-com:vml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google Maps V3 API Sample</title>
    <script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;sensor=false&amp;key=A BQIAAAAddD3O5fXuL_HtKIUrjJ-ahSuL8FB-3nxjrLtXKyxIpjPm1Kp3xRvHfX4ZC0GDp_MreM6ZsPf6aHz9w" ></script>
    <script language= "Javascript">

    // Funzione per la creazione di un marker contenente un
    // messaggio al suo interno visualizzabile con un click
    function createMarker(point, description)
    {
    var marker = new GMarker(point);
    GEvent.addListener(marker, "click", function ()
    {
    marker.openInfoWindowHtml(description);
    });
    return marker;
    }

    // Funzione per il caricamento dei dati in mappa
    function pageLoaded(Lat, Lon) {
    if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));

    /*controller barra vert*/
    map.addControl(new GLargeMapControl());

    /*COORDINATE DI PARTENZA DELLA MAPPA + LIVELLO ZOOM INIZIALE*/
    map.setCenter(new GLatLng(Lat, Lon), 5);
    map.addOverlay(createMarker(new GLatLng(Lat, Lon)));
    }
    }

    // function pageLoaded(Lat, Lon)
    // {
    // var mapDiv = document.getElementById('map');
    // var map = new google.maps.Map(mapDiv, {
    // center: new google.maps.LatLng(Lat, Lon),
    // zoom: 13,
    // mapTypeId: google.maps.MapTypeId.ROADMAP
    // });
    // }

    </script>
    </head>


    <%
    ' Recupero il Valori dalla tabella
    Dim Id, Rif, Nome, Cognome, Via, Citta, Cap, Mail, Tel, chkconenso, optStruttura, Note
    Dim Dal, Al, ImportoSett, ImportoMens, ImportoAnn, optStato, Latitudine, Longitudine, Zoom
    Dim Img01, Percorso01, Img02, Percorso02, Img03, Percorso03, Planimetria, Percorso04
    Dim DtIns, Tipo, Mq, Num_camere, Num_Bagni, Riscaldamento, Garage, Arredato

    Latitudine = 55.719704
    Longitudine = 9.79313

    %>

    <body onload="pageLoaded(<%=Latitudine%>, <%=Longitudine%>);" onunload="GUnload();">
    <%response.write ("DATI: " & Latitudine & " - " & Longitudine)%>
    <div id="map" style="width: 500px; border: 3px double #EAC535; height: 400px"></div>
    </body>
    </html>

    Ti anticipo il mio più sincero grazie intanto per le tue risposte.

  7. #7
    Le coordinate di Bore sono le seguenti: 44.719704,9.79313

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    io lo vedo correttamente, con le coordinate che hai indicato nell'ultimo post il cursore si sposta nel comune di Bore. Ho visto pero che nel codice hai indicato come Latitudine 55.719704 . Inoltre come ti ho già detto usa i tag code del forum per postare il codice altrimenti non si capisce nulla.

  9. #9
    Si le coordinate le avevo cambiate per fare delle prove. Ma tu per visualizzare la pagina cosa hai fatto e cosa hai utilizzato, perchè a me, sostituendo con le coordinate di Bore e lanciando la pagina mi va su una regione sopra il Kazakhstan.

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Ho utilizzato il codice che hai postato con alcune modifiche per farlo funzionare senza asp.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.