2009-04-28 17 views
2

Jouer avec Google Maps ces jours-ci, avec certaines directions.Google Maps - Ajouter deux marqueurs (directions)

J'ai une carte qui obtient les directions et l'adresse (géocodage inverse) lorsque vous faites glisser et déposer les marqueurs. S'il y a deux nœuds sur la carte (http://dev.korebogen.dk/gmap/), le script fonctionne correctement (cliquez sur Définir les directions) - mais je dois ajouter un événement click pour pouvoir placer ces deux marqueurs au lieu de coder l'emplacement à la main. , mais toujours être en mesure de les faire glisser - ou placer nouveau avec un nouveau clic. Mais j'ai seulement besoin de marqueurs A à B. J'ai joué avec quelques clics, mais je n'arrive pas à accomplir ce que je cherche - espérons voir de l'aide ici. Merci beaucoup.

Répondre

4

Ce code vous permettra de cliquer et de placer deux marqueurs, que vous pourrez ensuite utiliser pour charger GDirections, et supprimer les marqueurs d'origine. Notez que vous devez utiliser ce format pour la chaîne de requête: "from: marker @ 35, -25 to: marker @ -20,15".

var markerArray = []; 

var listener = GEvent.addListener(map, "click", function(overlay, latlng) { 
    var marker = new GMarker(latlng, { draggable: true }); 
    map.addOverlay(marker); 
    markerArray.push(marker); 
    if (markerArray.length > 1) { 
     GEvent.removeListener(listener); 
     var marker1 = markerArray[0]; 
     var marker2 = markerArray[1]; 

     gdir.load("from: [email protected]" + marker1.getLatLng() + " to: [email protected]" + marker2.getLatLng()); 

     map.removeOverlay(marker1); 
     map.removeOverlay(marker2); 
    } 
});