tracer un itinéraire sur Google Maps
Comment utiliser L'API Google Maps pour tracer un itinéraire? Par exemple, pour avoir un tas de points de passage chargés sur la carte (j'ai actuellement ceci) et dessiner une ligne de chacun d'eux montrant à l'utilisateur un itinéraire qu'ils pourraient prendre pour les voir tous? Comment puis-je charger cela lorsque l'utilisateur voit la carte?
3 réponses
Vous pouvez définir la propriété waypoints sur un objet DirectionsService et il tracera l'itinéraire de la source à la destination via tous les points de votre tableau:
Tableau de waypoints intermédiaires. Les Directions seront calculées à partir de la de l'origine à la destination par la voie de la chaque waypoint dans ce tableau.
Une fois que vous avez défini la propriété waypoints, vous appelez la méthode route pour calculer les directions:
route(request:DirectionsRequest, callback:function(DirectionsResult, DirectionsStatus)))
Une fois vous avez votre DirectionsResult, vous pouvez utiliser l'objet DirectionsRenderer pour afficher les résultats sur une carte Google.
Mise à jour avec Exemple de travail
Le code suivant effectue une requête de direction entre les points de début et de fin codés en dur via un tableau de trois waypoints:
// three points through which the directions pass
var point1 = new google.maps.LatLng(-33.8975098545041,151.09962701797485);
var point2 = new google.maps.LatLng(-33.8584421519279,151.0693073272705);
var point3 = new google.maps.LatLng(-33.84525521656404,151.0421848297119);
// build an array of the points
var wps = [{ location: point1 }, { location: point2 }, {location: point3}];
// set the origin and destination
var org = new google.maps.LatLng ( -33.89192157947345,151.13604068756104);
var dest = new google.maps.LatLng ( -33.69727974097957,150.29047966003418);
var request = {
origin: org,
destination: dest,
waypoints: wps,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
Vous pouvez trouver un exemple de travail de ce code ici (source).
N. B. Gardez à l'esprit que vous ne pouvez utiliser jusqu'à huit points de cheminement dans votre tableau, sauf si vous passez à un compte d'affaires.
Vous pouvez utiliser une carte statique, puis parcourir vos points et tracer les points en utilisant le paramètre path.
Quelque Chose comme:
&path=color:blue|weight:5|45.123,-123.595|46.456,-124.985
Je l'ai fait sur Android. Google a un service pour cela Voici le lien https://developers.google.com/maps/documentation/roads/intro
Vous trouverez un exemple D'appel D'API sur cette page Ici. Plus quelques instructions web. https://developers.google.com/maps/documentation/roads/snap
Ceci est un exemple d'appel web à la service. https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907|-35.28099,149.12929|-35.28144,149.12984|-35.28194,149.13003|-35.28282,149.12956|-35.28302,149.12881|-35.28473,149.12836&interpolate=true&key=YOUR_API_KEY
Si la mémoire sert, je crois que vous pouvez avoir jusqu'à 100 points par appel et vous êtes facturé par chaque appel quel que soit le nombre de points.
Cet appel ci-dessus peut également être configuré pour s'accrocher aux routes.
Jusqu'à dessiner les routs lorsque la carte se charge, cela dépend des technologies que vous utilisez. Je sais qu'il est facile de dans. NET WinForms
Si vous postez un commentaire sur votre question; en me faisant savoir quelles technologies vous utilisez, je pourrais vous donner d'autres conseils.
Si vous voulez tester vos itinéraires gratuitement, j'ai trouvé un petit site web astucieux: https://www.darrinward.com/lat-long/
J'espère que cela aide.