Hoi,
Ik wil in google maps meerdere markers toevoegen. Ik heb een xml bestand met daarin alle adressen, geen coördinaten!. Ieder adres opzich werkt, maar ik krijg het niet voor elkaar om het xml bestand uit te lezen, adressen om te zetten in coördinaten graden en vervolgens de markers te plaatsen.
met geocoder.getLatLngAsync is het mogelijk om een adres om te zetten naar coördinaten.
Hij geeft een foutmelding terug op de regel <body onload etc > dat er een object verwacht woord.
Het XML bestand ziet er als volgt uit:
iemand een idee waar ik de mis in ga?
Ik wil in google maps meerdere markers toevoegen. Ik heb een xml bestand met daarin alle adressen, geen coördinaten!. Ieder adres opzich werkt, maar ik krijg het niet voor elkaar om het xml bestand uit te lezen, adressen om te zetten in coördinaten graden en vervolgens de markers te plaatsen.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(52345801,4624582), 13); geocoder = new GClientGeocoder(); GDownloadUrl("data.xml", function(data, responseCode) { //data.xml openen if(responseCode == 200) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("marker"); //alle marker elementen ophalen for (var i = 0; i < markers.length; i++) { //loop met de lengte van het aantal markers showAddress = markers[i].getAttribute("address"); //adres opvragen van de marker function showAddress(address) { geocoder.getLatLngAsync(address,function(latlng) { if (!latlng){ alert(address + " not found"); } else { map.setCenter(latlng, 15); var marker = new GMarker(latlng); map.addOverlay(marker); marker.openInfoWindowHtml(address); } } ); //sluit geocoder.get af } else if(responseCode == -1) { alert("Data request timed out. Please try later."); } else { alert("Request resulted in error. Check XML file is retrievable."); } } ); //sluit GDownloadUrl af } } } } |
met geocoder.getLatLngAsync is het mogelijk om een adres om te zetten naar coördinaten.
Hij geeft een foutmelding terug op de regel <body onload etc > dat er een object verwacht woord.
Het XML bestand ziet er als volgt uit:
code:
1
2
3
4
5
| <?xml version='1.0' encoding='utf-8'?> <markers> <marker address='straat,plaatsnaam' /> <marker address='straat2,plaatsnaam2' /> </markers> |
iemand een idee waar ik de mis in ga?
[ Voor 9% gewijzigd door w00d op 15-08-2007 16:59 . Reden: Code aangepast ]