Outils pour utilisateurs

Outils du site


android:mapviews

Cartes avec mapviews et Google Maps

Obtenir une clé pour Mapviews

L'utilisation de Google Maps dans Mapview est soumise à l'utilisation d'une clé d'API. Il existe un process pour la phase de développement et un process pour la phase de mise en production. Dans ce deuxième cas, l'utilisation d'un certificat de développeur personnel, associé à une clé privée, est nécessaire pour poster sur Google Play

Clé de développement

Pendant la phase de développement, le SDK utilise une clé par défaut, créée sans aucune intervention du développeur. Cette clé et le certificat associé sont des objets de debug qui ne peuvent pas être utilisés sur Google Play; ils sont en revanche parfaitement suffisants tant que la phase de développement n'est pas terminée.

Sous Mac Os

  • Se rendre dans le bon dossier
cd ~/.android/
  • lister les fichiers
MyMac:.android meOnMyMac$ ls *.keystore
debug.keystore
MyMac:.android meOnMyMac$

Sous Eclipse, vous pouvez retrouver l'emplacement du keystore par défaut : Eclipse → Préférences → Android → Build → Default debug keystore

  • Récupérer l'empreinte MD5 de la clé de debug
keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

Cette commande doit vous renvoyer une informations de ce type:

androiddebugkey, 12 sept. 2012, PrivateKeyEntry, 
Empreinte du certificat (MD5) : 22:90:F0:4E:81:3C:F4:9B:E6:3A:CE:5D:3A:11:3E:4B

Il ne reste plus qu'à utiliser cette empreinte sur l'API Google Maps pour obtenir la clé correspondante. Vous aurez besoin d'utiliser ou de créer un compte Google.

Clé de production

Préparer le projet

Mapviews fait partie des Google API. Quelques étapes permettent de préparer le projet à l'utilisation de ces API.

  • Obtenir les API : Window → Android SDK Manager → Vérifier que le package Google APIs correspondant à la version de l'API que vous souhaitez utiliser est bien installé.
  • Après avoir créé le projet, définir le build path
    • Properties → Android puis cocher Google APIs
    • Properties → Java Build Path → Libraries → Google APIs : vérifier que maps.jar est présent.
  • Dans le manifest :
    • avant le nœud application, ajouter une permission d'accès à Internet pour permettre la communication de l'application avec Google Maps
<uses-permission android:name="android.permission.INTERNET" />
  • Dans le nœud application, ajouter la bibliothèque
<uses-library android:name="com.google.android.maps"/>

Problèmes courants

Unable to start activity

Ajouter vos éléments graphiques après avoir défini le contenant. Par exemplen dans onCreate()

super.onCreate(savedInstanceState);		
setContentView(R.layout.activity_main);
MapView myMapView = (MapView) findViewById(R.id.myMap);
myMapView.setBuiltInZoomControls(true);

plutôt que

super.onCreate(savedInstanceState);		
MapView myMapView = (MapView) findViewById(R.id.myMap);
myMapView.setBuiltInZoomControls(true);
setContentView(R.layout.activity_main);

Pas de localisation dans l'émulateur

Et non. L'émulateur ne permet pas de vous localiser seul. Mais DDMS peut vous aider.

android/mapviews.txt · Dernière modification: 2016/10/17 13:56 (modification externe)