Je ne peux pas obtenir ce travail. J'ai essayé d'utiliser le code ci-dessous avec onTouchEventand et cela ne fonctionne pas. Si je reviens vrai à la fin de la méthode, j'obtiens le toast avec les coordonnées mais je ne peux pas déplacer une carte, et si je renvoie false, je peux déplacer une carte mais ne peux pas afficher un toast après que l'utilisateur clique sur une carte . Si je comprends bien, l'autre méthode onTap est utilisée uniquement pour cliquer sur un recouvrement. Quelqu'un a-t-il pensé à cela?Obtenir des coordonnées en cliquant n'importe où sur un MapView
public boolean onTouchEvent(MotionEvent arg0, MapView arg1) {
//super.onTouchEvent(arg0);
int akcija = arg0.getAction();
if(akcija == MotionEvent.ACTION_UP){
if(!premik) {
Projection proj = mapView.getProjection();
GeoPoint loc = proj.fromPixels((int)arg0.getX(), (int)arg0.getY());
String sirina=Double.toString(loc.getLongitudeE6()/1000000);
String dolzina=Double.toString(loc.getLatitudeE6()/1000000);
Toast toast = Toast.makeText(getApplicationContext(), "Širina: "+sirina+" Dolzina: "+dolzina, Toast.LENGTH_LONG);
toast.show();
}
}
else if (akcija == MotionEvent.ACTION_DOWN){
premik= false;
}
else if (akcija== MotionEvent.ACTION_MOVE){
premik = true;
}
return false;
//return super.onTouchEvent(arg0);
}
Cela fonctionne dans l'émulateur, mais échoue sur mon héros. Je suppose que c'est juste un autre bug spécifique de héros: ( – DixieFlatline
événement dispatchTouch n'est pas détecté sur mon héros – DixieFlatline
son par un problème de version firmwaret de héros qui est le niveau de l'API est 3.bout dispatchtouch Méthodes d'événements dans le niveau API 4. donc il ne pouvait pas fonctionner – Praveen