2011-04-14 2 views
0

Je dois prendre un instantané de google map et enregistrer dans une base de données locale. S'il vous plaît aidez-moi à prendre l'instantané de google map.comment prendre un instantané de google map?

Merci, Monali

+0

Appuyez sur [Imprimer] de votre clavier? – halfdan

+0

Pouvez-vous s'il vous plaît me dire comment le programmer? – Monali

Répondre

0

Vous pouvez voir cette bibliothèque http://code.google.com/p/android-screenshot-library/. Il fonctionne en arrière-plan et peut vous permettre de faire des captures d'écran sans root.

+0

J'ai téléchargé le fichier zip, pouvez-vous me dire comment intégrer cette application avec mon application – Monali

+0

@ user437833 Vous pouvez voir le wiki pour le projet - http://code.google.com/p/android-screenshot-library/ wiki/DeveloperGuide – vendor

+0

ASL utilise un service natif fonctionnant en arrière-plan, démarré via l'Android Debug Bridge (ADB) une fois par démarrage du périphérique. –

2

Vous ne pouvez pas faire un écran d'impression à l'intérieur de votre application à moins que le téléphone est enraciné (ne pas le code pour cela).

Vous pouvez cependant faire un écran d'impression à travers l'émulateur mais ce n'est pas la question ici.

Par souci d'exhaustivité:
Emulator printscreen
Vous devez connecter votre téléphone via USB, allez à la perspective de débogage dans Eclipse, sélectionnez l'onglet « Périphériques », sélectionnez votre appareil dans la liste et cliquez sur le « écran Capture "icône.

0

Définir une fonction dans un événement de clic de bouton;

Button btnCap = (Button) findViewById(R.id.btnTakeScreenshot); 
btnCap.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     try { 
      CaptureMapScreen(); 
     } catch (Exception e) { 
      // TODO: handle exception 
      e.printStackTrace(); 
     } 

    } 
}); 

est ici une fonction CaptureMapScreen()

public void CaptureMapScreen() 
{ 
SnapshotReadyCallback callback = new SnapshotReadyCallback() { 
     Bitmap bitmap; 

     @Override 
     public void onSnapshotReady(Bitmap snapshot) { 
      // TODO Auto-generated method stub 
      bitmap = snapshot; 
      try { 
       FileOutputStream out = new FileOutputStream("/mnt/sdcard/" 
        + "MyMapScreen" + System.currentTimeMillis() 
        + ".png"); 

       // above "/mnt ..... png" => is a storage path (where image will be stored) + name of image you can customize as per your Requirement 

       bitmap.compress(Bitmap.CompressFormat.PNG, 90, out); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }; 

    myMap.snapshot(callback); 

    // myMap is object of GoogleMap +> GoogleMap myMap; 
    // which is initialized in onCreate() => 
    // myMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map_pass_home_call)).getMap(); 
} 
Questions connexes