Ik ben nu even aan het spelen met google Maps. Wat ik graag wil is het volgende; er moeten verschillende polygonen op de map verschijnen. Elk polygon moet zijn eigen .js-bestand hebben. Dus polygon1.js, polygon2,js, etc. Uiteindelijk maak ik wel iets waardoor het ook automatisch toegevoegd wordt in de code, maar eerst even dit:
Nu dacht ik het heel makkelijk te doen:
Met in test.js:
Dit werkt (natuurlijk) niet. Ik heb het nagezocht en dit schijnt met scoping te maken te hebben. Ik heb de map-variabele al buiten de functie gezet, maar nog werkt het niet goed. Als ik de polygon-functie ín de initialize-functie zet, gaat het wél goed. Dus moet het volgens mij wel met scoping te maken hebben... Maar wat doe ik precies fout?
Na wat verder zoeken zag ik de methode
document.write() met daarin het script... maar dat werkt al helemaal niet
Wat wel werkt is alleen it.setMap(map) in de functie zetten, en de rest in test.js laten. Maar dat wil ik nou net anders
Nu dacht ik het heel makkelijk te doen:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <script type="text/javascript"> var map; function initialize() { var hetcentrum = new google.maps.LatLng(53.0, 6.0); var myOptions = { zoom: 13, center: hetcentrum, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); } </script> <script type="text/javascript" src="test.js"></script> |
Met in test.js:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| var myCoordinates = [ new google.maps.LatLng(53.1, 6.0), new google.maps.LatLng(53.0, 6.1), new google.maps.LatLng(52.1, 3.0), new google.maps.LatLng(52.0, 3.1) ]; var polyOptions = { paths: myCoordinates, strokeColor: "#ff0000", strokeOpacity: 0.8, strokeWeight: 3, fillColor: "#ff0000", fillOpacity: 0.35 } var henk = new google.maps.Polygon(polyOptions); henk.setMap(map); |
Dit werkt (natuurlijk) niet. Ik heb het nagezocht en dit schijnt met scoping te maken te hebben. Ik heb de map-variabele al buiten de functie gezet, maar nog werkt het niet goed. Als ik de polygon-functie ín de initialize-functie zet, gaat het wél goed. Dus moet het volgens mij wel met scoping te maken hebben... Maar wat doe ik precies fout?
Na wat verder zoeken zag ik de methode
document.write() met daarin het script... maar dat werkt al helemaal niet
Wat wel werkt is alleen it.setMap(map) in de functie zetten, en de rest in test.js laten. Maar dat wil ik nou net anders
[ Voor 11% gewijzigd door maarud op 14-03-2010 23:27 ]