Bonjour à tous!!!
Voilà je développe en ce moment une appli android qui utilise la map v2 de Google. Mais je rencontre un problème concernant la rotation de la map, en fait, c'est plus une analyse dont j'ai besoin et non pas une erreur ou une exception que je rencontre.
Voilà mon problème :
Sur la carte (map), j'ai la position de l'appareil et un marker, je souhaite faire en sorte que dès que l'utilisateur change la position (l'orientation) de son appareil, mais pas dans le sens portrait/paysage, dans le sens où son téléphone est parallèle au sol et il pointe vers une direction... Donc le but serait de faire tourner la map à chaque changement de direction du téléphone pour lui indiquer le chemin à prendre pour atteindre le marker... Par exemple, son téléphone pointe au départ vers un poteau ensuite l'utilisateur fait un demi-tour, conséquence, la map aussi fait un demi-tour pour montrer la direction à prendre pour atteindre le marker.
J'ai eu plusieurs idées, (vous me dites si je suis sur la bonne piste) j'ai implémenté les écouteurs sur les capteurs (Sensor) en suivant le tuto de mathias (très bon tuto en passant)
http://mathias-seguy.developpez.com/...roid-capteurs/
J'ai donc décidé d'utiliser le capteur vecteur d'orientation (partie 9 du tuto) pour récupérer la rotation sur l'axe Y et ainsi faire tourner la map suivant cette valeur. J'ai commencé un bout de code :
Ensuite dans une autre fonction, je reprends la variable (yRotation)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public void onSensorChanged(SensorEvent event) { // TODO Auto-generated method stub if (event.sensor.getType() == Sensor.TYPE_ROTATION_VECTOR) { // La valeur angulaire pour chaque axe float xRotation = event.values[0]; /** * Rotation autour de l'axe Y = c'est l'axe vertical donc la map devra tourner autour de cet axe */ yRotation = event.values[1]; float zRotation = event.values[2]; Log.v(TAG, "rotation sur X="+xRotation+"\nrotation sur Y="+yRotation+"\nrotation sur Z="+zRotation); } }
Mais le souci c'est que je suis sur l'AVD et je n'ai pas de smartphone android pour bien tester mon algo avec les capteurs..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CameraPosition cam = getMap().getCameraPosition().bearing(yRotation).build(); getMap().animateCamera(cam);
Svp aidez-moi..
Vous pourriez me dire si je suis sur la bonne piste.. ou bien j'entreprend mal les choses
Merci
Partager