login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Google Maps API

Offline Woodmen - 15/05/2010 19:56 (laatste wijziging 15/05/2010 19:59)
Avatar van WoodmenNieuw lid Hallo,

Als ik de volgende functie uitvoer dan berekent de google maps api de route van A naar B met eventuele tussen stops. De locatie van de tussen stops worden uit het bestand xml.xml gehaald.
Het probleem is echter; als het xml bestand meerdere locaties van tussen stops bevat het script wel alle locaties doorloopt maar uiteindelijk alleen de laatste tussenstop gebruikt om de route mee te berekenen.

Is er een oplossing waardoor het google maps wel alle tussenstops gebruikt?

Alvast bedankt voor jullie hulp.


  1. <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
  2. <script type="text/javascript">
  3. window.onload = function(){
  4. load();
  5. }
  6. </script>
  7. <script type="text/javascript">
  8.  
  9. var directionDisplay;
  10. var directionsService = new google.maps.DirectionsService();
  11. var map;
  12.  
  13. function load() {
  14. directionsDisplay = new google.maps.DirectionsRenderer();
  15. var dc = new google.maps.LatLng(51.00000, 6.00000);
  16. var myOptions = {
  17. zoom: 13,
  18. mapTypeId: google.maps.MapTypeId.ROADMAP,
  19. center: dc
  20. }
  21. map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
  22. directionsDisplay.setMap(map);
  23.  
  24. // Change this depending on the name of your PHP file
  25. downloadUrl("xml.xml", function(data) {
  26. var xml = data.responseXML;
  27. var markers = xml.documentElement.getElementsByTagName("marker");
  28. for (var i = 0; i < markers.length; i++) {
  29. var start = "Amsterdam";
  30. var end = "Rotterdam";
  31. var point = new google.maps.LatLng(
  32. parseFloat(markers[i].getAttribute("lat")),
  33. parseFloat(markers[i].getAttribute("lng")));
  34. var waypts = [{
  35. location: point,
  36. stopover: true
  37. }];
  38. calcRoute(start, end, waypts);
  39. }
  40. });
  41.  
  42. }
  43.  
  44. function calcRoute(start, end, waypts) {
  45. var request = {
  46. origin: start,
  47. destination: end,
  48. waypoints: waypts,
  49. travelMode: google.maps.DirectionsTravelMode.DRIVING
  50. };
  51. directionsService.route(request, function(response, status) {
  52. if (status == google.maps.DirectionsStatus.OK) {
  53. directionsDisplay.setDirections(response);
  54. }
  55. });
  56.  
  57. }
  58.  
  59. function downloadUrl(url, callback) {
  60. var request = window.ActiveXObject ?
  61. new ActiveXObject('Microsoft.XMLHTTP') :
  62. new XMLHttpRequest;
  63.  
  64. request.onreadystatechange = function() {
  65. if (request.readyState == 4) {
  66. request.onreadystatechange = doNothing;
  67. callback(request, request.status);
  68. }
  69. };
  70.  
  71. request.open('GET', url, true);
  72. request.send(null);
  73.  
  74. }
  75.  
  76. function doNothing() {}
  77.  
  78.  
  79. </script>
  80.  
  81. <div id="map_canvas" style="width: 600px; height: 500px"></div>

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.172s