2009-06-18 5 views
1

Est-ce que cela semble fonctionner? Je veux générer des directions d'une latitude/longitude à une autre latitude/longitude.Google Maps GDirections - Itinéraire entre deux points sur une carte

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"); 

Les charges de carte fines, mais les directions ne sont pas en. Je l'ai essayé de cette façon aussi:

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); 

Même chose ... carte mais pas de directions. Toute aide est grandement appréciée, merci d'avance!

Répondre

1

Je ne vois rien d'évident au premier coup d'œil sur votre code, donc ma première estimation est un échec pour la demande GDirections (Je suppose également que vous avez vérifié le journal des erreurs javascript pour toutes les erreurs, Tools/Error Console si vous ne l'avez pas déjà fait).

Je vous suggère d'ajouter un gestionnaire d'erreur pour votre objet GDirections, cela vous donnera une indication ce qui se passe avec votre demande:

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

et dans le rappel de handleErrors un coup d'oeil à:

directions.getStatus().code 

Comparer avec le Geo Status Codes.

EDIT: Ok, je viens d'essayer your code ici et il works perfectly. Je peux seulement supposer qu'il y a un autre problème sur votre page qui cause le problème. Pouvez-vous poster un lien dans la question afin que nous puissions le vérifier?

+0

Le problème était sur ma boîte d'essai ... donc pas de lien. Après l'avoir testé, j'ai copié le code dans un nouveau fichier html et l'ai réussi à charger. Au moins je sais que ce n'est pas la faute de javascript maintenant. J'apprécie vraiment l'aide à ce sujet, merci beaucoup. – Chaddeus

+0

Content de l'entendre :). – RedBlueThing

1

Vérification de l'état (604) Je suis quand j'ai essayé dans le Google Maps API Reference dit:

Les GDirections objet ne pouvait pas directions de calcul entre les points mentionnés dans la requête. C'est généralement parce qu'il n'y a pas de route disponible entre les deux points, ou parce que nous n'avons pas de données pour le routage dans cette région.

ce qui est le code je (légèrement modifié):

$(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

Il n'y a pas de problème avec le code qu'il a fourni. Je l'ai utilisé textuellement et une route correcte a été calculée. – RedBlueThing