Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2015
    residenza
    Milano
    Messaggi
    9

    [VB.NET] Mappa coperta in controllo webbrowser

    Buongiorno a tutti,è il primo messaggio che scrivo e saluto tutti gli utenti del Forum. Ho bisogno di aiuto per un problema inspiegabile che ormai mi tiene fermo da una settimana in cerca di soluzioni. Vi assicuro che le ho provate tutte, ma non ne vengo a capo.
    Magari a qualcuno di voi è già capitato e mi può dare una mano.
    Premessa:ambiente di sviluppo - Visual Studio 2013 (VB);Sistema Operativo - Windows 7 Professional con Explorer 10, ma utilizzo Chrome come browser.
    L’applicazione è molto semplice, raccoglie informazioni sulla località, un evento qualsiasi, punta una mappa di Google Maps, nella quale è possibile spostare il marker nel punto desiderato, per avere più precisione, ne ricava le coordinate georeferenziali e salva tutte le informazioni raccolte in un DB SQL.
    In seguito le stesse informazioni verranno visualizzate su di una mappa e analizzate.

    Fino a circa un mese fa l’applicazione (che non era ancora operativa) funzionava regolarmente. Ora che deve entrare in esercizio, non visualizza correttamente la mappa. In questo intervallo non ho effettuato nessuna operazione, nè sul codice, né a livello grafico, non ho proprio aperto il progetto, dopo l’ultimo debug.
    Per la visualizzazione della mappa utilizzo un controllo WebBrowser al quale passo il riferimento ad un file HTML residente nella directory dell’applicazione, con questa istruzione:

    WBGoogle.Navigate(Application.StartupPath & "\Mappa.html?" & PassoLuogo)

    PassoLuogo è una variabile stringa che contiene l’indirizzo. Mappa.HTML è il file che contiene le istruzioni e le funzioni javascript che sfruttano le GoogleApis per la visualizzazione della cartina con incluso StreetView.
    Tutto funzionava, ma ora, quando richiamo la finestra con il WebBrowser mi visualizza il marker di google, le coordinate georeferenziali, i contorni della cartina e per il resto ….. tutto bianco.
    Se muovo il cursore velocemente posso vedere che sotto ha regolarmente caricato anche la mappa, ma la stessa non viene visualizzata. Come se una form bianca coprisse il tutto. Tenete conto che se utilizzo il file Mappa.HTML per conto suo e lo lancio attraverso NotePad++, funziona tutto, ovviamente dà un messaggio di indirizzo non trovato all’inizio, ma se l’indirizzo viene digitato nella textbox, la mappa viene visualizzata.
    Ho già ispezionato le opzioni sia di Chrome che di Explorer per vedere se lì c’era qualche impedimento alla visualizzazione…. ma niente da fare, da applicazione non funziona.
    Sono disperato, c’è qualcuno che ha idea di cosa possa essere successo? Per completezza pubblico anche il file HTML, anzi, se a qualcuno può interessare lo utilizzi pure.Vi assicuro che funziona.
    codice:
                                                               
     
    <!DOCTYPE html>
    <html>
      <head>
        <meta http-equiv="cache-control" content="no-cache">    
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
        <meta charset="utf-8">
        <title>Posizionamento e recupero coordinate georeferenziali</title>
        <style>
            html, body 
                 {
                height: 100%;
                margin: 0px;
                padding: 0px;
            }
    
    
        #map { height: 100%;
    
    
        }
    
    
            #panel {
                position: absolute;
                top: 5px;
                left: 50%; 
                margin-left: -180px;
                z-index: 5;
                background-color: #fff;
                padding: 5px;
                border: 1px solid #999;
            }
        </style>
    
    
        <!--<link href="https://developers.google.com/maps/documentation/javascript/examples/default.css" rel="stylesheet">-->
        
          <script src="https://maps.googleapis.com/maps/api/js?sensor=false?Key=AIzaSyCqGA1QcbSSfIU2_ObbecQLkhMEbngnAp4&signed_in=false"></script> 
    
    
    
    
        <script>
          var Punto;
          var geocoder;
          var map;
          var mapOptions = {
              zoom: 17,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            }
          var marker;
          
          function initialize() {
              Pulisci();
              PassaVar();
            geocoder = new google.maps.Geocoder();
            map = new google.maps.Map(document.getElementById('map'), mapOptions);
            codeAddress();
          }
    
    
          function codeAddress() {
            var address = document.getElementById('address').value;
            geocoder.geocode( { 'address': address}, function(results, status) {
              if (status == google.maps.GeocoderStatus.OK) {
                map.setCenter(results[0].geometry.location);
                if(marker)
                  marker.setMap(null);
                marker = new google.maps.Marker({
                    map: map,
                    position: results[0].geometry.location,
                    draggable: true
                });
                google.maps.event.addListener(marker, "dragend", function() {
                  document.getElementById('lat').value = marker.getPosition().lat();
                  document.getElementById('lng').value = marker.getPosition().lng();
                });
                document.getElementById('lat').value = marker.getPosition().lat();
                document.getElementById('lng').value = marker.getPosition().lng();
              } else {
                alert('Indirizzo non trovato per le seguenti ragioni: ' + status);
              }
            });
          }
    
    
          function PassaVar() {
              Punto = ""; //pulisco variabile
              Punto = window.location.search.substring(1); //riassegno variabile
              document.getElementById("address").value = Punto; //riassegno input
    
    
          }
    
    
          function Pulisci() {
              var mitt = document.getElementById("address").value;
              if (mitt.value != null) {
                  mitt.value = "";
                  mitt.focus();
              }
          }
    
    
        </script>
    
    
      </head>
      <body onload="initialize()">
        <div>
          <input id="address" type="text" style="width:60%" onfocus="address">
          <!--<input id="address" type="textbox" style="width:60%" value="via settala, 1 Milano" onfocus="address">-->
          <input type="button" value="Indirizzo" onclick="codeAddress()">
          <input type="text" id="lat"/>
          <input type="text" id="lng"/>
     
        </div>
        <div id="map" style="height:90%;top:30px"></div>
      </body>
    </html>
    Chiedo scusa per il messaggio un pò lungo ma ho cercato di essere il più preciso possibile.
    Grazie a tutti per l'aiuto.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Intanto esiste una apposita sezione per VB.NET nel forum ... e poi dovresti anche mostrarlo il codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    aggiungo una standing ovation per il titolo del thread. ma il regolamento non lo legge nessuno?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da optime Visualizza il messaggio
    ma il regolamento non lo legge nessuno?
    Solo i moderatori ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5

    Moderazione

    Sposto il thread nella sezione corretta e sistemo il titolo; come già accennato dagli altri utenti, ti consiglio di dare un'occhiata al regolamento di sezione prima di proseguire.

    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2015
    residenza
    Milano
    Messaggi
    9
    Chiedo venia,
    avete ragione ho letto le regole molto frettolosamente.....

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per caso è impostata la "Modalità Compatibilità" di IE ? Non è supportata ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2015
    residenza
    Milano
    Messaggi
    9
    No, via già percorsa, così come le altre impostazioni di Explorer e di Chrome.

  9. #9
    Chrome non dovrebbe c'entrare niente, il controllo webbrowser è sempre IE. Quanto alla modalità compatibilità, ho un vago ricordo che per il controllo webbrowser è attiva di default (indipendentemente dell'impostazione della GUI - l'idea era non rompere vecchie applicazioni che incorporavano pagine non standard in locale). Se non erro c'era una chiave di registro da modificare, o forse bastava anche solo sistemare il doctype.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Infatti il webbrowser usa IE.

    Controlla le chiavi

    codice:
    HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

    codice:
    HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

    E comunque fai la prova ad aprire il file direttamente da IE e da Chrome nel PC in questione.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.