2009-06-18 14 views
1

Sieht das so aus als ob es funktionieren sollte? Ich möchte Richtungen von einem Breitengrad/Längengrad zu einem anderen Breitengrad/Längengrad erzeugen.Google Maps GDirections - Route Richtungen zwischen zwei Punkten auf einer Karte

var dirMap = new GMap2($("#dirMap").get(0)); 
var wp = new Array(2); 
wp[0] = new GLatLng(35.742149,139.337218); 
wp[1] = new GLatLng(35.735347,139.328485); 

var marker = new GMarker(wp[1]); 
dirMap.addOverlay(marker); 
dirMap.setCenter(wp[0], 12); 
dirMap.setUIToDefault(); 

// load directions 
directions = new GDirections(dirMap); 
directions.load("from: [email protected],100.337218 to: [email protected],100.3267"); 

Die Karte lädt feinen, aber die Richtungen kommen nicht in. Ich habe es auch so versucht:

var dirMap = new GMap2($("#dirMap").get(0)); 
var wp = new Array(2); 
wp[0] = new GLatLng(32.742149,119.337218); 
wp[1] = new GLatLng(32.735347,119.328485); 

var marker = new GMarker(wp[1]); 
dirMap.addOverlay(marker); 
dirMap.setCenter(wp[0], 12); 
dirMap.setUIToDefault(); 

// load directions 
directions = new GDirections(dirMap); 
directions.loadFromWaypoints(wp); 

Gleiches ... Karte aber keine Richtungen. Jede Hilfe wird sehr geschätzt, danke im Voraus!

Antwort

1

Ich kann nichts auf den ersten Blick auf Ihren Code offensichtlich sehen, so meine erste Schätzung ist ein Fehler wieder in der GDirections Anfrage (Ich nehme auch an, Sie haben das Javascript Fehlerprotokoll auf Fehler überprüft, Tools/Fehler Konsole, wenn Sie dies noch nicht getan haben).

Ich schlage vor, Sie einen Fehlerhandler hinzufügen, für Ihre GDirections Objekt, dies wird Ihnen einen Hinweis darauf, was mit Ihrer Anfrage geschieht:

GEvent.addListener(directions, "error", handleErrors); 

und im handleErrors Rückruf haben Sie einen Blick in:

directions.getStatus().code 

Vergleichen Sie mit der Geo Status Codes.

EDIT: Ok, ich habe gerade your code hier ausprobiert und es works perfectly. Ich kann nur annehmen, dass ein anderes Problem auf Ihrer Seite das Problem verursacht. Können Sie einen Link in der Frage posten, damit wir ihn überprüfen können?

+0

Das Problem auf meinem Testfeld war ... so keine Verbindung. Nachdem Sie es getestet haben, habe ich den Code in eine neue HTML-Datei kopiert und erfolgreich zum Laden gebracht. Zumindest weiß ich, es ist jetzt nicht die Javascript-Fehler. Ich schätze die Hilfe wirklich sehr, vielen Dank. – Chaddeus

+0

Froh, es zu hören :). – RedBlueThing

1

Überprüfen des Status (604) Ich habe, als ich in der Google Maps API Reference versucht sagt:

Die GDirections Objekt konnte nicht Rechen Richtungen zwischen den Punkten in der Abfrage erwähnt. Dies ist normalerweise , weil es keine Route zwischen den beiden Punkten gibt, oder , weil wir keine Daten für Routing in dieser Region haben.

und das ist der Code I (leicht modifiziert) verwendet:

$(function() 
{ 
    if (GBrowserIsCompatible()) 
    { 
     var wp = [new GLatLng(35.742149,139.337218), new GLatLng(35.735347,139.328485)]; 

     var map = new GMap2(document.getElementById('map-canvas')); 
     map.setCenter(wp[0], 12); 
     map.setUIToDefault(); 

     var marker = new GMarker(wp[1]); 
     map.addOverlay(marker); 

     var directions = new GDirections(map); 
     GEvent.addListener(
      directions, 
      'error', 
      function() 
      { 
       console.log(directions.getStatus().code); 
      } 
     ); 
     directions.load('from: [email protected],100.337218 to: [email protected],100.3267'); 
    } 
}); 
+0

Es gibt kein Problem mit dem von ihm bereitgestellten Code. Ich benutzte es wörtlich und eine korrekte Route wurde berechnet. – RedBlueThing

Verwandte Themen