2017-07-10 2 views
-1

enter image description hereAndroid comment dessiner le chemin de navigation comme la ligne bleue dans l'image

Je veux dessiner le chemin de navigation comme le chemin de navigation google de la ligne bleue. Comment devrais-je dessiner?

+0

Copie possible de [Android: Comment dessiner l'itinéraire Itinéraire google maps API V2 de l'emplacement actuel à la destination] (https://stackoverflow.com/questions/14444228/android-how-to-draw-route-directions-google -maps-api-v2-from-current-location-t) –

+0

Je ne veux pas utiliser l'API Google, je veux juste implémenter la fonction qui dessine un chemin bleu –

+0

Créer une vue personnalisée et dessiner la ligne en utilisant Canvas et Peinture en fournissant le chemin de la ligne. – Abbas

Répondre

1

Utilisez le code suivant pour passer à l'intention de Google Map.

String url = "http://maps.googleapis.com/maps/api/directions/xml?" 
       + "origin=" + start.latitude + "," + start.longitude 
       + "&destination=" + end.latitude + "," + end.longitude 
       + "&sensor=false&units=metric&mode=driving"; 

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
          Uri.parse(url); 
        startActivity(intent); 

Espoir Il vous aidera ..

+0

J'ai une demande spéciale que j'ai beaucoup de points, environ cent mille. J'ai besoin de les connecter à un chemin, mais cela conduira à bégayer ici. Quelle est la meilleure façon de le résoudre? –

+0

Vous voulez dire que vous devez connecter plusieurs points (destinations) dans gmap. Si j'ai raison, google vous permet de connecter seulement 10 points librement. Plus de dix, vous avez la clé d'achat. S'il vous plaît se référer au lien suivant. Cela vous aidera. http://wptrafficanalyzer.in/blog/route-between-two-locations-with-waypoints-in-google-map-android-api-v2/ – Suresh

+0

Peut-être mon anglais n'est pas bon, la description du problème n'est pas très claire. Je ne veux pas utiliser l'API de Google Map. Je veux accomplir la fonction qu'il a peinte le chemin mais sans succès. Je dessine le chemin est très vague et laid après agrandie. Donc, je veux savoir s'il n'y a pas moyen de dessiner le beau chemin comme Google Map (ps: j'ai beaucoup de points). Merci beaucoup. –

0

Compte tenu de votre question spécifique de tirer juste le chemin bleu Je limiterai ma réponse à tirer juste chemin bleu comme l'un des commentaires a déjà inclus l'utilisation de Google API pour dessiner l'itinéraire.

Il est assez simple:

// PolylineOptions that defines the characteristics of line 
PolylineOptions mPolylineOptions = new PolylineOptions(); 
// points of line 
mPolylineOptions.addAll(points); 
// width of line that will be drawn 
mPolylineOptions.width(16); 
// and add the color of your line and other properties 
mPolylineOptions.color(Color.parseColor("#1976D2")).geodesic(true).zIndex(8);  
// finally draw the lines on the map 
Polyline line1 = mMap.addPolyline(mPolylineOptions); 
// change the width and color 
mPolylineOptions.width(14);  
mPolylineOptions.color(Color.parseColor("#2196F3")).geodesic(true).zIndex(8); 
Polyline line2 = mMap.addPolyline(mPolylineOptions); 

Le points sont calculées en utilisant l'API Google Maps pour Android. Ce que nous faisons ici, c'est que nous ne faisons pas seulement une ligne mais deux lignes avec une largeur et une couleur variables. Le line1 est la ligne de fond de couleur sombre qui deviendra la limite (ou trait) du line2 qui est de couleur claire. Le .geodesic(true) indique que le chemin à tracer doit être lisse à la place des arêtes vives et .zIndex spécifie l'ordre de la pile de cette ligne, par rapport aux autres lignes de la carte. La valeur z-index par défaut est 0.

Le code ci-dessus donne une sortie de ligne suivante:

enter image description here

Pour plus de détails se référer this et this.

+0

J'ai une demande spéciale que j'ai beaucoup de points, environ cent mille. J'ai besoin de les connecter à un chemin, mais cela conduira à bégayer ici. Quelle est la meilleure façon de le résoudre? –

+0

"Cent mille" est une bonne affaire! D'abord, laissez-moi savoir si ce sont les points du même chemin (c.-à-d., Ils se trouvent tous sur le même chemin) ou s'ils ne sont que des points aléatoires.Si ancien est le cas alors la liste de tableau que vous utilisez pour stocker ces points avant de l'ajouter à PolylineOptions réduit la taille de la liste d'un facteur de 4 ou 5 et de voir si les "bégaiements" sont là s'ils persistent toujours réduire eux par un facteur plus important. Si tel est le cas, vous devrez peut-être payer GOOGLE ou visiter le lien fourni par @Suresh. –

+0

Peut-être mon anglais n'est pas bon, la description du problème n'est pas très claire. Je ne veux pas utiliser l'API de Google Map. Je veux accomplir la fonction qu'il a peinte le chemin, mais sans succès. Je dessine le chemin est très vague et laid après agrandie. Donc, je veux savoir s'il n'y a pas moyen de dessiner le beau chemin comme Google Map (ps: j'ai beaucoup de points). Merci beaucoup. –