Maison >Java >javaDidacticiel >Comment tracer des itinéraires routiers avec l'API Google Maps v2 ?

Comment tracer des itinéraires routiers avec l'API Google Maps v2 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 18:32:301118parcourir

How to Draw Driving Directions with Google Maps API v2?

Dessiner un itinéraire avec l'API Google Maps v2

Dans cette question, l'utilisateur tente de tracer un itinéraire entre deux coordonnées géographiques à l'aide de Google API Cartes v2. Cependant, le code fourni trace simplement une ligne droite au lieu de l'itinéraire réel.

Pour obtenir le résultat souhaité, l'utilisateur peut utiliser une bibliothèque qui s'interface avec l'API Directions de Google. L'une de ces bibliothèques est « Android-GoogleDirectionLibrary » (https://github.com/akexorcist/Android-GoogleDirectionLibrary). Cette bibliothèque permet aux développeurs de récupérer facilement des itinéraires sous forme de données JSON, qui peuvent ensuite être tracées sous forme de polyligne sur la carte.

Pour utiliser cette bibliothèque, suivez ces étapes :

  1. Ajoutez la bibliothèque à votre fichier de build Gradle :

    dependencies {
     ...
     implementation 'com.akexorcist:googledirectionlibrary:1.3.5'
     ...
    }
  2. Initialisez l'API Google Maps et le client API Directions :

    <code class="java">// Initialize the Google Maps API
    GoogleMap mMap = ...
    
    // Initialize the Directions API client
    DirectionsClient directionsClient = Directions.newDirectionsClient(getApplicationContext());</code>
  3. Spécifiez les coordonnées d'origine et de destination :

    <code class="java">LatLng origin = new LatLng(12.917745600000000000, 77.623788300000000000);
    LatLng destination = new LatLng(12.842056800000000000, 7.663096499999940000);</code>
  4. Créez une demande d'itinéraire et exécutez-la :

    <code class="java">DirectionsApiRequest request = new DirectionsApiRequest.Builder()
     .origin(origin)
     .destination(destination)
     .build();
    
    directionsClient.getDirectionsAsync(request, new DirectionListener() {
     @Override
     public void onDirectionRetrieved(DirectionsResult result) {
         // Handle the response from the Directions API
         PolylineOptions options = new PolylineOptions()
             .addAll(result.getRouteList().get(0).getOverviewPolyline().getDecodedPath());
    
         mMap.addPolyline(options);
     }
    
     @Override
     public void onDirectionFailed(DirectionException e) {
         // Handle any errors
     }
    });</code>

En utilisant ceci approche, l'utilisateur peut tracer avec précision des itinéraires routiers entre deux points sur la carte, garantissant ainsi que l'itinéraire correspond aux routes réelles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn