Maschere continue e Google Maps

di il
4 risposte

Maschere continue e Google Maps

Buonasera a tutti,
da qualche giorno sto sviluppando un piccolo database sulla gestione delle infrazioni inerenti l'articolo 29 del Codice della Strada (piante che insistono con i rami sulla sede stradale) Il gestionale e' suddiviso su 3 tabelle (Anagrafica contenente i campi: Proprietario Cognome, Proprietario Nome e il Comune di residenza dei fondi), (Mappali contenente i seguenti campi: Numero Mappale, Latitudine e Longitudine) e infine (Verbali che si occupa della parte sanzionatoria ). Ho poi costruito una maschera principale (catasto) e una relativa sottomaschera (SottomascheraMappalI) contenente i campi della tabella mappali, senza riscontrare nessun problema. Il passo successivo e' stato quello di creare una casella combinata (non associata) in cui ho inserito una query che mi estrae il nome e il cognome del proprietario. La casella combinata lavora, tramite una requery su VBA, su una casella di riepilogo che mi restituisce i seguenti valori, per ogni proprietario: Numero Mappale, Latitudine e Longitudine.
Nell'evento "After Update" ho inserito il seguente codice per visualizzare le coordinate (latitudine e Longitudine tramite Google Maps) in un controllo WebBrowser contenuto nella maschera Castasto:
Private Sub viky_AfterUpdate()
' Trova il record corrispondente al controllo
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Cognome2ObsANG] = '" & Me![viky] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark

Dim strLinkURL As String 'indirizzo da visualizzare Mappa di Google Maps
Dim strPath As String 'indirizzo della pagina di Google Maps
Dim strAddr() As String 'variabile array
Dim i As Integer 'contatore
'indirizzo di Google Maps
strPath = "http://maps.google.com/map?"
'indirizzo da visualizzare
strLinkURL = Me.SottomascheraMappali!Latitudine & " " & Me.SottomascheraMappali!Longitudine
'aggiunta segno virgola alle variabili
strAddr = Split(strLinkURL, " ", , vbTextCompare)
'aggiungo la virgola
strLinkURL = ""
For i = LBound(strAddr()) To UBound(strAddr())
strLinkURL = strLinkURL & strAddr(i) & ","
Next i
'tolgo il segno +
strLinkURL = Left(strLinkURL, Len(strLinkURL) - 1)
'Me.TastoMappa.HyperlinkAddress = strPath & "q=" & strLinkURL
Me.WebBrowser2.Object.Navigate (strPath & "q=" & strLinkURL)
End Sub
Ammetto di essere neofita, e soprattutto, non so se un bene o un male autodidatta, ma ovviamente tale codice non mi restituisce le coordinate ricercate,ovvero la visualizzazione e' vuota. Vorrei capire dove sto sbagliando e/o una possibile soluzione. Ringrazio fin da ora tutto il forum.
Paolo Gogni

4 Risposte

  • Re: Maschere continue e Google Maps

    NOn capisco la questione Maschere Continue... del titolo..., perchè sai che le Maschere continue hanno dei Limiti reali su Calcoli estesi e che questi si riferiscono SOLO al Record corrente...!

    Detto questo mi pare che tu in un passaggio azzeri la variabile
    
    'aggiungo la virgola
    strLinkURL = ""
    Questa variabile prima conteneva il Link... ora ovviamente no...

    Ma hai fatto DEBUG sulla costruzione della stringa finale..?
  • Re: Maschere continue e Google Maps

    Ciao Alex, buonasera e grazie mille per la risposta.
    Effettivamente il titolo, guardandolo ora che me l'hai fatto notare, non è molto chiaro (se devo rettificare provvedo, in modo tale che possa essere d'aiuto ad altri utenti in futuro).Ad ogni proprietario possono corrispondere da 1 a molti mappali (ovviamente ogni mappale ha le sue coordinate GPS) e da qui l'esigenza, per ogni mappale (che seleziono tramite la casella combinata + la casella di riepilogo), di essere visualizzato in una web browser. Sul codice ho eseguito il debug non ottenendo errori. Nel momento della visualizzazione, compare il segno (virgola) ma non vengono inserite nè la latitudine, nè la longitudine (il codice era perfettamente funzionante su una vecchia maschera singola che teneva conto di sole 2 tabelle: anagrafica e mappali). Il mio dubbio è capire se sto procedendo correttamente, oppure il concetto che sto cercando di tradurre in codice è errato.
  • Re: Maschere continue e Google Maps

    Verifica quale stringa fornisci a Google Maps per i dati della latitudine e longitudine (separatori compresi);
    un esempio potrebbe essere il seguente:
    41.8905391,12.490932
    come magari viene indicato nella documentazione della applicazione:
    https://support.google.com/maps/answer/18539?hl=i

    Inoltre se può esserti utile puoi vedere questo demo:
  • Re: Maschere continue e Google Maps

    @Alex e Willy55: scusate il ritardo della risposta, ma volevo ringraziarvi entrambi per i suggerimenti. Ho trovato l'errore, stupido, ma purtroppo grave, ovvero: la sottomaschera non era rinominata correttamente, con la conseguenza che i dati non venivano affatto caricati.
    @Willy: ho trovato molto utile la demo da te proposta (ottimi spunti per ciò che desidero provare).
    grazie!
Devi accedere o registrarti per scrivere nel forum
4 risposte