2016-05-31 3 views
-1

Ich habe eine Webanwendung erstellt, die die Google Maps API v3 verwendet, um eine Karte mit Wegbeschreibungen zu mehreren Wegpunkten zu erstellen.Erstellen Sie einen Google Maps-Link aus API Map mit mehreren Wegpunkten

jQuery.getJSON(driverURL, function(dData){ 
     var routeObject = {}; 
     var lat = dData.Location.lat; 
     var lng = dData.Location.lng; 
     routeObject.origin = new google.maps.LatLng(lat, lng); 
     routeObject.destination = new google.maps.LatLng(endRoute.lat, endRoute.lng); 
     routeObject.waypoints = waypoints; 
     routeObject.travelMode = google.maps.TravelMode.DRIVING; 
     routeObject.optimizeWaypoints = true; 
     directionsService.route(routeObject, function(response, status) { 
      if (status === google.maps.DirectionsStatus.OK) { 
       var directionsDisplay = new google.maps.DirectionsRenderer({ 
         polylineOptions: { 
          strokeColor: colors[driverLines.length] 
         } 
       }); 
       directionsDisplay.setMap(dMap); 
       directionsDisplay.setDirections(response); 
      } else { 
       window.alert('Directions request failed due to ' + status); 
      } 
     }); 
    }); 

ich die Karte haben, die Wegpunkte, den Anfang und das Ende aller gespeichert, aber ich möchte in der Lage sein, zu erzeugen, eine Google Maps klickbaren Link zu den Richtungen für diese Strecke, die ich an die Benutzer senden können . Ich kann herausfinden, wie man einen Link mit einem einzelnen Marker sendet, aber nicht, wie man einen Map-Link mit der vollständigen Routenrichtung erzeugt.

Jede Hilfe wird geschätzt.

+0

https://developers.google.com/maps/documentation/embed/guide#directions_mode – geocodezip

+0

Das ist genau das, was der Code oben tut. Es nimmt Wegpunkte und erstellt eine direkte Anzeige und zeichnet die Richtungen auf der Karte. Aber diese Dokumente beantworten NICHT die Frage, die ich gestellt habe, nämlich: Wie man einen anklickbaren Link zu einer Google Map mit diesen Wegpunkten erstellt und darauf routet. Wie in einem maps.google.com-Link, der an einen Benutzer mit allen Wegpunkten und Wegbeschreibungen gesendet werden kann. – Davidgs

+0

Die einzige dokumentierte Möglichkeit, eine "Google Map" mit Wegbeschreibungen zu erstellen, ist über die Embed-API. – geocodezip

Antwort

0

Ich habe das herausgefunden, und es ist tatsächlich einfacher als ich dachte, aber etwas getan.

Zuerst nahm ich einige der Wegpunkte, die ich hatte, als Adressen, nicht als late/lng Punkte, und erstellte eine Routenkarte auf maps.google.com. Dann schaute ich mir an, wie die URL für diese Map erstellt wurde. Sehr einfach neu zu erstellen.

Die URL ist nur http://maps.google.com/dir/starting Adresse als Adresse, Stadt, Staat, PLZ/Wegpunkt als Adresse, Stadt, Staat, PLZ/Wegpunkt/Endadresse als Adresse, Stadt, Staat, PLZ Und du bist fertig. Wenn Sie für Ihren Start-, Wegpunkt- und Endort Koordinaten in l/lng verwenden, müssen Sie diese zunächst mit der V3-API geocodieren, dann die Adressinformationen aus dem zurückgegebenen Ergebnis extrahieren und diese in Ihre URL einfügen, aber es funktioniert .

Hier ist, wie ich den letzten Link, der einen Start, eine Reihe von Wegpunkten und eine Endposition hat. Ich mit einem JSON-Objekt beginnen, die so genannten Daten, die in ihm alle die Adresse info hat und bauen eine lange Reihe von ihm, im Format Google Maps erwartet:

var dirs = '' 
for(var x = 0; x<Data.length;x++){ 
    dirs += Data[x].Address + "," + Data[x].City + "," + Data[x].State + "," + Data[x].Zip + "/"; 
} 

Dann füge ich die Start- und Endstellen zu es:

var dirLink = 'http://maps.google.com/maps/dir/'; 
dirLink += start.Address + "," + start.City + "," + start.State + "," + start.Zip + "/" + dirs + end.Address + "," + end.City + "," + end.State + "," + end.Zip; 

Und dirLink wird eine komplette Verbindung sein, die Richtungen von start.Address durch alle Wegpunkte end.Address geben.