2010-04-30 5 views
0

Si vous allez ici: http://econym.org.uk/gmap/snap.htm il y a quelques exemples du genre de choses que j'essaie de faire. Je souhaite que l'utilisateur saisisse un itinéraire sur un widget google maps, puis que la carte trace la route le long des routes. Ensuite, l'utilisateur clique sur un bouton "soumettre", et son itinéraire est renvoyé au serveur où il sera stocké dans une base de données.Coordonnées complètes dans les rues avec google maps

img

Au lieu de renvoyer seulement les sommets rouges, je veux renvoyer toutes les informations qui composent les lignes violettes. Est-ce possible?

Répondre

2

Les lignes violettes sont des polylignes qui sont stockées sous forme de tableau sous DOM.Vous pouvez envoyer leurs informations à votre serveur.

Dans this page, il est un événement javascript déclenche une fois que vous avez cliqué sur la carte comme suit:

var firstpoint = true; 
var gmarkers = []; 
var gpolys = []; 
var dist = 0; 

GEvent.addListener(dirn,"load", function() { 
    // snap to last vertex in the polyline 
    var n = dirn.getPolyline().getVertexCount(); 
    var p=dirn.getPolyline().getVertex(n-1); 
    var marker=new GMarker(p); 
    map.addOverlay(marker); 
    // store the details 
    gmarkers.push(marker); 
    if (!firstpoint) { 
     map.addOverlay(dirn.getPolyline()); 
     gpolys.push(dirn.getPolyline()); 
     dist += dirn.getPolyline().Distance(); 
     document.getElementById("distance").innerHTML="Path length: "+(dist/1000).toFixed(2)+" km. "+(dist/1609.344).toFixed(2)+" miles."; 
    } 
    firstpoint = false; 
    }); 

Ces lignes de code dire que, après avoir cliqué sur la carte, le point que vous avez cliqué sur claqua la route la plus proche , puis si vous ajoutez un second point à un autre point, un bleu itinéraire apparaît entre toutes ces polylignes.

Comme je l'ai dit précédemment, ces polylignes sont stockés dans gpolys array.Also savent que tous les sommets ou GMarkers sont également stockés dans gmarkers de tableau.