Ok AlexMed, ce l'ho fatta :)
Ti illustro la mia soluzione alternativa per usare files html a parte con parametri da passare.
Hai il tuo form, dal quale ho previsto anche l'impostazione di larghezza ed altezza della mappa
(l'ho fatto stesso nella sub, ma tu puoi metterci pure due textbox o altro da dove prelevare le dimensioni), ed eventualmente anche tramite quale servizio scaricare la mappa (google map o mapdev).
La condizione che verifica quale mappa scegliere la imposti tu (io ti suggerisco come esempio: di default la mappa di google, eventualmente il servizio non fosse disponibile, allora la mappa di mapdev. Oppure puoi mettere dei radiobutton per scegliere quale mappa visualizzare).
Dal form imposti latitudine e longitudine, premi il tasto, il webbrowser carica la mappa scelta passandogli la querystring. Supponendo che il file della mappa si chiami map_google.html, al webbrowser passerai pertanto una stringa del tipo:
map_google.html?LA=valore_latitudine&LO=valore_longitudine&W=larghezza_mappa&H=altezza_mappa
gli ultimi due parametri W e H li puoi anche omettere, perchè da Javascript ho impostato 400 come valore di default.
Per recuperare da html i parametri passati con la QueryString utilizzerai una funzione JavaScript, che per comodità ho predisposto in un file a parte in maniera che possa essere caricato da entrambe le pagine senza riscrivere lo stesso codice in tutte e due le pagine.
Crei un file di testo, chiamandolo getQSParam.js e dentro ci metti il codice che segue
(te l'ho commentato abbastanza per farti capire, come vedrai la sintassi di VB.NET non si discosta molto da quella usata da JavaScript):
Crei quindi le due pagine HTML che chiamerai ad esempio:
map_google.html
e map_mapdev.html
Questi 3 files (i due html e il js) li metti nella stessa cartella della tua applicazione.
Leggiti i commenti nelle pagine per capire cosa succede. Riguardo alla mappa di google devi procurarti un'apikey per poterla utilizzare, quella del mio file è quella li fornita come esempio e non si dovrebbe usare. Purtroppo la mappa di Google mi da degli errori e dopo 3 volte che ho utilizzato quell'api key di test, non posso piu visualizzare niente. La mappa di MapDev invece non mi da nessun problema e mi funziona perfettamente.
Modifichi quindi la tua sub btnHTML.Click in questo modo:
Ti ho impostato il body delle pagine html in maniera tale che sia senza bordi, per cui la mappa la potrai visualizzare senza spazi bianchi intorno nel controllo webbrowser. Ti suggerisco di far impostare larghezza ed altezza della mappa in base alle dimensioni della finestra webbrowser. In questo modo tutto il codice è molto più flessibile, puoi utilizzare tutti i servizi di mappe che ti pare e personalizzarne ogni aspetto concentrandoti soltanto sul file che ti interessa.
Se non vuoi far apparire il bordino nero intorno alla mappa devi agire sullo stile del div della mappa nelle pagine html:
border:1px #000000 solid;
impostandolo a:
border:0px;
Spero ti piaccia. Fammi sapere.