Ik ben bezig met Google maps om deze binnen een client applicatie te gebruiken (VB6).
(ik maak gebruik van de MS WebBrowser control voor weergave)
Ik gebruik de "hello world" sample van Google zelf en het betreft deze HTML code:
Als ik bovenstaande HTML in een lokaal bestand heb staan (bv c:\\GoogleTest.html) en dit inlees met de Navigate method van de WebBrowser control:
dan krijg ik keurig een Google Map te zien.
Echter wil ik de HTML code niet in een file hebben staan, maar binnen de applicatie.
Dus heb ik geprobeerd de HTML code te zetten in het webbrowser document.
Ik probeer dus dezelfde HTML code mbv innerHTML in het document te zetten.
Echter zie ik dus niets !
Ik heb gezocht en meerdere andere oplossingen getest, zoals
- HTML tags wel/niet in HTML code opnemen
- De DEFER switch gebruikt bij <SCRIPT>
- De write method van het document gebruikt
geen enkele optie werkt.
Als ik kijk naar de bronpagina na uitvoeren van het zetten van de HTML code mbv innerHTML method dan zie ik dit:
Dus achter de tag einde HTML zie ik een script regel staan.
Lijkt me niet correct.
Kan iemand mij uit mijn lijden verlossen en een juiste methode aangeven hoe ik JavaScript kan laten uitvoeren waarbij de HTML code programmatisch in de webbrowser wordt gezet?
/EDIT
Om te testen dat het zetten van HTML überhaupt wel werkt heb ik in tevens dit stukje bij de HTML code geplaatst:
En de tekst foo wordt dan keurig in de browser weergegeven, maar de Google map niet.
Dit is voor mij een indicatie dat de methode van zetten van HTML code wel correct is, maar dat het Javascript gedeelte niet (correct) wordt uitgevoerd.
(ik maak gebruik van de MS WebBrowser control voor weergave)
Ik gebruik de "hello world" sample van Google zelf en het betreft deze HTML code:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> function initialize() { var latlng = new google.maps.LatLng(-34.397, 150.644); var myOptions = { zoom: 8, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); } </script> </head> <body onload="initialize()"> <div id="map_canvas" style="width:100%; height:100%"></div> </body> </html> |
Als ik bovenstaande HTML in een lokaal bestand heb staan (bv c:\\GoogleTest.html) en dit inlees met de Navigate method van de WebBrowser control:
code:
1
| WebBrowser1.Navigate( "file:///C:/GoogleTest.html", ..... |
dan krijg ik keurig een Google Map te zien.
Echter wil ik de HTML code niet in een file hebben staan, maar binnen de applicatie.
Dus heb ik geprobeerd de HTML code te zetten in het webbrowser document.
code:
1
2
3
4
5
| ! Eerst empty pagina openen WebBrowser1.Navigate( "about:blank", ..... ! Document ophalen van WebBrowser en... doc.body.innerHTML = <HIER GOOGLE SCRIPT> |
Ik probeer dus dezelfde HTML code mbv innerHTML in het document te zetten.
Echter zie ik dus niets !
Ik heb gezocht en meerdere andere oplossingen getest, zoals
- HTML tags wel/niet in HTML code opnemen
- De DEFER switch gebruikt bij <SCRIPT>
- De write method van het document gebruikt
geen enkele optie werkt.
Als ik kijk naar de bronpagina na uitvoeren van het zetten van de HTML code mbv innerHTML method dan zie ik dit:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> function initialize() { var latlng = new google.maps.LatLng(-34.397, 150.644); var myOptions = { zoom: 8, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); } </script> </head> <body> <div id="map_canvas" style="width:100%; height:100%"></div> </body> </html><script src="http://maps.gstatic.com/intl/nl_ALL/mapfiles/api-3/22a/main.js" type="text/javascript"></script> |
Dus achter de tag einde HTML zie ik een script regel staan.
Lijkt me niet correct.
Kan iemand mij uit mijn lijden verlossen en een juiste methode aangeven hoe ik JavaScript kan laten uitvoeren waarbij de HTML code programmatisch in de webbrowser wordt gezet?
/EDIT
Om te testen dat het zetten van HTML überhaupt wel werkt heb ik in tevens dit stukje bij de HTML code geplaatst:
HTML:
1
| <H1>foo</H1> |
En de tekst foo wordt dan keurig in de browser weergegeven, maar de Google map niet.
Dit is voor mij een indicatie dat de methode van zetten van HTML code wel correct is, maar dat het Javascript gedeelte niet (correct) wordt uitgevoerd.
[ Voor 6% gewijzigd door Xymox op 30-11-2009 08:58 ]
Intel i9-9900K | MSI MPG Z390 Gaming Pro Carbon | MSI RTX 2080Ti Gaming X Trio | Ballistix Sport LT (32GB) | MSI Optix MAG274QRF-QD 1440p | Samsung 970 EVO Plus (2TB) | NZXT Kraken X52 | Valve Index | Fractal Design R6 | Synology DS420j