Salut,

Je travail sur une application android qui doit capturer les photos et placer les coordonnés gps du lieu de capture de la photo sur la photo.
J'arrive déja a prendre la photo et a prendre le coordonné gps. mais seulement je n'arrive pas a faire apparaitre les coordonnés gps sur la photo.

La methode pour ouvrire la camera est :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 private void ouvrirCamera() {
        try {
            if (camera == null) {
                camera = open();
                camera.setDisplayOrientation(90);
                Camera.Parameters parameters = camera.getParameters();
                parameters.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
                String focusMode = findValue(parameters.getSupportedFocusModes(),
                        parameters.FOCUS_MODE_AUTO,
                        parameters.FOCUS_MODE_MACRO);
 
                if (focusMode != null) {
                    parameters.setFocusMode(focusMode);
                }
                Toast.makeText(CapturerPhoto.this, "latitude test dans ouvrirCamera = " + latitude + " et \nlogitude test = " + longitude, Toast.LENGTH_SHORT).show();
                parameters.setGpsLatitude(latitude);
                parameters.setGpsLongitude(longitude);
                parameters.setRecordingHint(true);
 
                camera.setParameters(parameters);
                camera.lock();
 
                //camera.startFaceDetection();
            }
        } catch (Exception e) {
            int cameraId = getNumberOfCameras();
            Log.w("cameraId", "" + cameraId);
            camera = open(cameraId);
        }
    }
et la methode qui s'execute lors de la capture de la photo est :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 @Override
    public void onPictureTaken(byte[] data, Camera camera) {
        ContentValues values = new ContentValues();
        values.put(MediaStore.Audio.Media.TITLE, "Mon image");
        values.put(MediaStore.Images.Media.DESCRIPTION, "Image prise par le téléphone");
        getCoord();
        values.put(MediaStore.Images.ImageColumns.LATITUDE, latitude);
        values.put(MediaStore.Images.ImageColumns.LONGITUDE, longitude);
        Toast.makeText(CapturerPhoto.this, "latitude test = " + latitude + " et \nlogitude test = " + longitude, Toast.LENGTH_SHORT).show();
        Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
        OutputStream os;
        try {
            os = getContentResolver().openOutputStream(uri);
            os.write(data);
 
            Main2Activity.instance.setImageView(uri);
            os.flush();
            os.close();
        } catch (FileNotFoundException e) {
            Log.e(getClass().getSimpleName(), "Fichier non trouvé à l’écriture de l’image", e);
        } catch (IOException e) {
            Log.e(getClass().getSimpleName(), "Erreur E/S à l’enregistrement de l’image", e);
        }
        try {
            camera.startPreview();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }