+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 6 su 6

Discussione: marker di googlemap con asp e db access

  1. #1
    marco.santilli non è in linea Scolaretto
    Post
    443

    marker di googlemap con asp e db access

    come da regolamento, ho gia scritto in un altro forum ma senza soluzione, giro la domanda in questo forum..

    ---------------------------

    In una pagina ho caricato una mappa di google:

    codice:
    <script>
    
          function initMap() {
            var myLatLng = {lat: 43.4978043, lng: 13.624813};
            var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
            var labelIndex = 0;
    
            var map = new google.maps.Map(document.getElementById('map'), {
              zoom: 18,
              center: myLatLng,
              mapTypeId: google.maps.MapTypeId.HYBRID
            });
    
    
            var marker1 = new google.maps.Marker({
              position: myLatLng,
              map: map,
              label: labels[labelIndex++ % labels.length],
              animation: google.maps.Animation.DROP,
              title: 'nome località'
            });
               
          }
        </script>
    fino a qui tutto funzionante...
    ora vorrei ciclare una tabella di un DB in access per popolare le località nella mappa

    codice:
    <%
        Set RsLocalita = Server.CreateObject("ADODB.Recordset") 
        sqlLocalita="Select * from tbsqlLocalita"
        RsLocalita.Open sqlLocalita, MyConn, 3,3 
    
    
    do until RsLocalita.eof = true
                
    mapLat= RsLocalita("mapLat")
    mapLong= RsLocalita("mapLong")
    
    RsLocalita.movenext
    loop
                             
    %>
    se non sbaglio
    ASP esegue il ciclo lato server
    JS lavorando in client non riesce a ricevere i marker ciclando il codice sopra...

    quindi dovrei seguire questa strada
    ASP carica i marker in un array
    ASP finisce la parte server caricando la pagina
    JS carica la base della mappa posizionandosi su una localita base impostata
    JS carica l'array dei marker ciclati in precedenza con ASP


    Qualcuno mi sa aiutare...???

    ciao e grazie
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  2. #2
    L'avatar di bumm
    bumm non è in linea Very Important Person Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Luogo
    Bologna
    Post
    2,142
    Blogs
    1
    Omg! c'è ancora ASP(non net) in giro?

    direi che le strade potenzialmente sono due:
    1. Generi un array (oppure oggetto json) e durante la generazione della pagina generi anche la variabile javascript.
    2. Usi ajax su javascript per scaricare i dati in modo assincrono.

    nel primo caso sarà qualcosa del genere:
    codice:
    <%
    'codice che prelieva i dati dal db e crea una stringa del genere: [{"lat":44,"lon":37},{"lat":44,"lon":37}]
    'e lo assegna alla variabile  es: "Punti"
    %>
    <script>
    var dati = <%Punti%>;
    //ora va il resto del tuo javascript che usa array "dati" in questo modo: 
    var lat =  dati[0].lat;
    var lon = dati[0].lon;
    // codice che costruisce marker
    </script>
    nel secondo caso crei una pagina a parte che funziona come nel primo esempio ma invece di scrivere in una variabile scrivi nel output. Nel javascript con ajax fai request a quella pagina e assegni l'output alla variabile(conterra le coordinate)
    "HeloWorld.exe" 17 errors, 31 warnings.

    Non mi mandate le richieste di aiuto via PM! Non vi risponderò! Tutte le domande fateli sul forum!

  3. #3
    marco.santilli non è in linea Scolaretto
    Post
    443

    ok

    Quote Originariamente inviato da bumm Visualizza il messaggio
    Omg! c'è ancora ASP(non net) in giro?

    direi che le strade potenzialmente sono due:
    1. Generi un array (oppure oggetto json) e durante la generazione della pagina generi anche la variabile javascript.
    2. Usi ajax su javascript per scaricare i dati in modo assincrono.

    nel primo caso sarà qualcosa del genere:
    codice:
    <%
    'codice che prelieva i dati dal db e crea una stringa del genere: [{"lat":44,"lon":37},{"lat":44,"lon":37}]
    'e lo assegna alla variabile  es: "Punti"
    %>
    <script>
    var dati = <%Punti%>;
    //ora va il resto del tuo javascript che usa array "dati" in questo modo: 
    var lat =  dati[0].lat;
    var lon = dati[0].lon;
    // codice che costruisce marker
    </script>
    nel secondo caso crei una pagina a parte che funziona come nel primo esempio ma invece di scrivere in una variabile scrivi nel output. Nel javascript con ajax fai request a quella pagina e assegni l'output alla variabile(conterra le coordinate)
    ok l'idea mia a grandi linee c'è
    prima array in asp
    poi passo l'array a js

    ps. asp(non net) perchè è un vecchio progetto da aggiungere questa mappa... :-(
    visto che ci sono ti chiedo una info (off topic) convertire da asp ad asp.net, per quanto riguarda la grafica è fattibile?
    in futuro potrei convertire la grafica e fare il codice....

    torniamo al mio problema...
    sono riuscito a creare un array, potrebbe essere corretto ??

    codice:
    Dim markerPosizioniLat(100)
    Dim markerPosizioniLong(100)
    indicemarker = 0
    Do While Not RsLocalitaMap.EOF
    markerPosizioniLat(indicemarker) = RsLocalitaMap("GoogleLat")
    markerPosizioniLong(indicemarker) = RsLocalitaMap("GoogleLong")
    indicemarker=indicemarker+1
    RsLocalitaMap.MoveNext
    Loop
    
    For indicemarker = 0 To 5
        response.write (markerPosizioniLat(indicemarker)) & " " & (markerPosizioniLong(indicemarker)) & "<br>"
    Next
    cosi mi restituisce questo:
    43.4983358 13.6247674
    43.4984935 13.624645
    43.5080385 13.6229938
    43.5070248 13.6224429
    43.5122401 13.6245682

    quindi forse ci siamo... che ne pensi???

    ora come faccio il ciclo su js?

    Questo crea un marker

    codice:
              var myLatLng = {lat: 43.4978043, lng: 13.624813};
              var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
              var labelIndex = 0;
    
              var marker1 = new google.maps.Marker({
              position: myLatLng,
              map: map,
              label: labels[labelIndex++ % labels.length],
              animation: google.maps.Animation.DROP,
              title: 'nome località'
            });

    ciao e grazie per l'aiuto...
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  4. #4
    L'avatar di bumm
    bumm non è in linea Very Important Person Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Luogo
    Bologna
    Post
    2,142
    Blogs
    1
    Direi di no.
    dovresti passare dati in formato JSON a javascript, mentre tu semplicemente scrivi i dati in output. Già ti ho fatto l'esempio di come si scrive.



    <%
    Dim markerPosizioniLat(100)
    Dim markerPosizioniLong(100)
    indicemarker = 0
    Do While Not RsLocalitaMap.EOF
    markerPosizioniLat(indicemarker) = RsLocalitaMap("GoogleLat")
    markerPosizioniLong(indicemarker) = RsLocalitaMap("GoogleLong")
    indicemarker=indicemarker+1
    RsLocalitaMap.MoveNext
    Loop
    Dim result as string;
    result= "[";
    For indicemarker = 0 To 5
    Dim elemento as string;
    elemento = "{lat: " & markerPosizioniLat(indicemarker) & ", lng: " & markerPosizioniLong(indicemarker) & "}"
    result = result & elemento ;
    Next
    result = result & "]"
    'hai costruito array di oggetti in formato json, lo userai successivamente in javascript.
    %>
    <div>Qui continui con tuo HTML<div>
    <script type="text/javascript">
    //qui sei nel javascript
    var dati = <%=result%>;
    //ora va il resto del tuo javascript che usa array "dati" in questo modo:
    var myLatLng =dati[0];
    // codice che costruisce marker
    </script>
    "HeloWorld.exe" 17 errors, 31 warnings.

    Non mi mandate le richieste di aiuto via PM! Non vi risponderò! Tutte le domande fateli sul forum!

  5. #5
    marco.santilli non è in linea Scolaretto
    Post
    443
    Quote Originariamente inviato da bumm Visualizza il messaggio
    Direi di no.
    dovresti passare dati in formato JSON a javascript, mentre tu semplicemente scrivi i dati in output. Già ti ho fatto l'esempio di come si scrive.



    <%
    Dim markerPosizioniLat(100)
    Dim markerPosizioniLong(100)
    indicemarker = 0
    Do While Not RsLocalitaMap.EOF
    markerPosizioniLat(indicemarker) = RsLocalitaMap("GoogleLat")
    markerPosizioniLong(indicemarker) = RsLocalitaMap("GoogleLong")
    indicemarker=indicemarker+1
    RsLocalitaMap.MoveNext
    Loop
    Dim result as string;
    result= "[";
    For indicemarker = 0 To 5
    Dim elemento as string;
    elemento = "{lat: " & markerPosizioniLat(indicemarker) & ", lng: " & markerPosizioniLong(indicemarker) & "}"
    result = result & elemento ;
    Next
    result = result & "]"
    'hai costruito array di oggetti in formato json, lo userai successivamente in javascript.
    %>
    <div>Qui continui con tuo HTML<div>
    <script type="text/javascript">
    //qui sei nel javascript
    var dati = <%=result%>;
    //ora va il resto del tuo javascript che usa array "dati" in questo modo:
    var myLatLng =dati[0];
    // codice che costruisce marker
    </script>
    ok...

    dai la prima parte però c'ero riuscito... ;-) ahahaah

    dopo pranzo provo a fare il resto e vediamo se gira...
    grazieeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  6. #6
    marco.santilli non è in linea Scolaretto
    Post
    443

    Ok

    Funzionaaaaaaaaaaaaa....

    Grazie...tutto perfetto
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi