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 :
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
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); } }
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 limage", e); } catch (IOException e) { Log.e(getClass().getSimpleName(), "Erreur E/S à lenregistrement de limage", e); } try { camera.startPreview(); } catch (Exception e) { e.printStackTrace(); } }
Partager