Je suis nouveau sur Android et je viens de regarder dans l'API de toile. J'ai actuellement une classe d'activité appelée "MyMap" et une ViewClass appelée "MapView" (qui étend la vue). L'activité MyMap définit l'affichage du contenu sur MapView et à l'intérieur de MapView. Je crée un canevas avec une image bitmap d'une carte et je trace ensuite un cercle sur la carte en fonction des coordonnées GPS actuelles du mobile. Je veux savoir comment effectuer un rappel à la méthode draw() chaque fois que les coordonnées GPS changent? aussi ce code va-t-il dans l'activité MyMap ou dans MapView?Android Canvas - Rappels pour dessiner un point et le repositionner en fonction du mouvement GPS
Répondre
Ce que vous devez faire est d'abord configurer un écouteur de GPS et de répondre à cela, vous pouvez trouver des informations à ce sujet ici LocationManager
Il ressemblerait à quelque chose comme ça. Gardez à l'esprit que le GPS suce la batterie, il y a des façons de le faire mieux, mais voici la viande de celui-ci, plus ou moins
Une fois que vous avez cette configuration juste faire ce que vous devez faire dans l'auditeur OnLocationChanged
CODE SNIPPET - pas complète
import android.location.LocationListener;
import android.location.LocationManager;
import android.location.LocationProvider;
public class gps extends Activity {
private LocationManager locManager = null;
public void onCreate(Bundle state) {
super.onCreate(state);
locManager = (LocationManager)App.getSystemService(Context.LOCATION_SERVICE);
}
LocationListener onLocationChange=new LocationListener() {
public void onLocationChanged(Location loc) {
// DO SOMETHING HERE with the updated location information to change your map
}
}
public onResume() {
startGPS(1000,1); // Every second or when we move 1 meter
}
public onPause() {
stopGPS();
}
private boolean startGPS(long interval, float meterTrigger)
{
if (!locManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
return false;
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,interval,meterTrigger,onLocationChange);
return true;
}
public void stopGPS() {
locManager.removeUpdates(onLocationChange);
}
Peinture cercle - vous devez déterminer le positionnement et le rayon
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
float x = 0;
float y = 0;
float r = 0;
paint = new Paint(Paint.ANTI_ALIAS_FLAG); // You can cache this higher up and reuse it
paint.setColor(0xFFFF0000);
canvas.drawCircle(x, y, r, paint);
}
merci. Y at-il de bons tutoriels sur le dessin sur une image. Essentiellement je dessine juste sur une image chaque fois que le gps du téléphone change .. – cptham
@cptham voulez-vous dessiner (comme dessiner un cercle etc.) ou voulez-vous superposer un bitmap au-dessus de l'autre? – Idistic
Je veux dessiner un cercle qui représente l'emplacement des utilisateurs. Vu littéralement dessiner un cercle sur une image bitmap (qui se trouve être une carte) – cptham
- 1. Android, Canvas, dessiner l'image
- 2. iPhone carte gps dessiner
- 3. html5 canvas "persistence graphique" sur repositionner/redimensionner
- 4. Dessiner une batterie GPS iOS/Android?
- 5. comment dessiner le mouvement lors du suivi d'un objet?
- 6. Calculs GPS/SIG: Algorithme pour prédire la position future en fonction du mouvement/mph?
- 7. android: l'image en mouvement d'un point à un autre
- 8. Android: Canvas et onTouchListener
- 9. Comment dessiner une ligne en utilisant jQuery et HTML5 canvas
- 10. Image en mouvement pour android
- 11. Dessiner un petit bitmap plusieurs fois à <canvas>?
- 12. android canvas drawText
- 13. Dessiner un texte à partir du point?
- 14. dessiner point gps comme une ligne dans l'iphone
- 15. GPS. Toujours le même point
- 16. onDraw (Canvas canvas) dans un fil en utilisant l'API Android
- 17. Dessiner des formes avec JavaScript et Canvas
- 18. Android Canvas drawBitmap fonction efficacité
- 19. Android Canvas Vérifiez si le point est sur la ligne
- 20. Utilisez gnuplot pour dessiner le point maximum
- 21. javascript canvas redimensionner et dessiner sur l'image
- 22. HTML5 Canvas dessiner tileset
- 23. Est-il possible de dessiner le point en utilisant android.graphics.Path
- 24. Dessiner un seul pixel w/canvas
- 25. Android GPS: spécifiez NTP_SERVER pour GPS dans le code
- 26. L'utilisation du GPS et du gyroscope pour déterminer la marche/le cyclisme ou la conduite?
- 27. Android: Utilisation du GPS
- 28. exécuter le mouvement du projectile. android
- 29. Dessiner sur Canvas to Widget écran d'accueil - Android
- 30. Comment repositionner un bouton lorsqu'il est au point?
Demandez-vous comment obtenir des mises à jour GPS, ou comment faire quelque chose une fois que vous obtenez une mise à jour GPS? Aussi un peu confus sur pourquoi vous créeriez une toile pour mettre une carte sur une mapview? Mapview est pour Google Maps et fait tout le dessin de carte pour vous. – Idistic
Je n'utilise pas googlemaps. Je veux charger une image bitmap d'une mosaïque de carte. Je veux ensuite tracer un marqueur «vous-êtes-ici» sur cette image de carte. Chaque fois que le mobile se déplace et modifie les coordonnées GPS, je veux ensuite que la carte pour mettre à jour le marqueur vous-êtes-ici et se déplacer par rapport à l'emplacement des téléphones – cptham