Hi liebe Gemeinde,
ich bin erst neu in dem Thema JS und google Api drin und mache meine
ersten Fortschritte.
Jedoch bin ich gerade an einem Problem, was mich etwas verwirrt. Und
zwar baue ich ein kleines Kundensystem wo wir anhand bestimmter
Aufträge dann Routen generieren wollen. Soweit klappt das alles.
Jedenfalls sobald ich die Route anzeigen lassen will (Daten kommen aus
MySql und werden per XML weiterverarbeitet) bekomme ich nur den Start/
Endpunkt angezeigt, aber nicht die Wegpunkte.
Lasse ich mir aber im Script per Alert die Waypoints kurz ausgeben
(alert ist in dem Fall leer) wird die Route wie gewünscht mit allen
Wegpunkten dargestellt. Sobald ich jedoch das alert rausnehme, kommt
nur Start/Endpunkt zum Tragen.....
hier kurz der Code:
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
var wittenberg = new google.maps.LatLng(51.86568, 12.65022);
var start = wittenberg;
var end = wittenberg;
function loadTourToMap(id) {
//Hole Routen-Daten
calcRoute(id);
//Erzeuge Google-Maps Routen-Renderer
directionsDisplay = new google.maps.DirectionsRenderer();
var myOptions = {
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: wittenberg
}
map = new google.maps.Map(document.getElementById("map"), myOptions);
directionsDisplay.setMap(map);
}//END-Function loadTourTomap
function calcRoute(id) {
//erzeuge Waypoint-Array
var waypts = [];
//Hole waypoints aus Datenbank und parse xml
downloadUrl("mapxml.php?action=loadintour&id="+id+"", function(data)
{
var xml = parseXml(data);
var markers =
xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
//Hinzufügen der Waypoints aus XML zum Array
waypts.push({
location: point,
stopover:true
});
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
}//END-FOR
});//END DOWNLOADUrl
alert(waypts);//<---- OHNE DAS ALERT WIRD DIE ROUTE NICHT GELADEN!
//erzeuge Route
var request = {
origin: start,
destination: end,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
var route = response.routes[0];
var summaryPanel = document.getElementById("directions_panel");
summaryPanel.innerHTML = "";
// For each route, display summary information.
for (var i = 0; i < route.legs.length; i++) {
var routeSegment = i+1;
summaryPanel.innerHTML += "<b>Route Segment: " + routeSegment
+ "</b><br />";
summaryPanel.innerHTML +=
route.legs[i].start_geocode.formatted_address + " to ";
summaryPanel.innerHTML +=
route.legs[i].end_geocode.formatted_address + "<br />";
summaryPanel.innerHTML += route.legs[i].distance.text + "<br /
><br />";
}
}
});
}
Ich hoffe eventuell das jemand den Fehler findet... und danke schonmal
im Vorraus.
Grüße
--
You received this message because you are subscribed to the Google Groups
"Google Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-maps-js-api-v3?hl=en.