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
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
cd ~/.android/
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
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.
Mapviews fait partie des Google API. Quelques étapes permettent de préparer le projet à l'utilisation de ces API.
<uses-permission android:name="android.permission.INTERNET" />
<uses-library android:name="com.google.android.maps"/>
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);
Et non. L'émulateur ne permet pas de vous localiser seul. Mais DDMS peut vous aider.