J'utilise un exemple de code fourni dans Google Map Documentation pour Google Map Api v2 ( https://developers.google.com/maps/documentation/Android/start#specify_settings_in_the_application_manifest ).
Le code a été exécuté avec succès, mais Map n'est pas chargé sur le périphérique. Seul l'écran blanc est affiché sur l'appareil. J'utilise un appareil Android version 4.0.3.
1) J'ai activé le service pour le projet.
2) clé générée:
3) "google-play-services_lib" en tant que bibliothèque dans le projet:
4) Manifest Android:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.mapdemo"
Android:versionCode="1"
Android:versionName="1.0" >
<uses-sdk
Android:minSdkVersion="8"
Android:targetSdkVersion="17" />
<uses-feature
Android:glEsVersion="0x00020000"
Android:required="true" />
<permission
Android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
Android:protectionLevel="signature" />
<uses-permission Android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme" >
<meta-data
Android:name="com.google.Android.maps.v2.API_KEY"
Android:value="AIzaSyCvZrhQ8YBfyYBvTic3DSdu2O06nAmhpg4" />
<activity
Android:name="com.example.mapdemo.MainActivity"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
5) Activité:
package com.example.mapdemo;
import Android.app.Activity;
import Android.os.Bundle;
import Android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
6) mise en page:
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/map"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:name="com.google.Android.gms.maps.MapFragment"/>
Utilisez l'activité de fragment
par exemple:
public class Maps extends FragmentActivity {
GoogleMap map;
double lat;
double lan;
boolean flag = false;
// private LocationManager lm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapptry);
map = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
}
}
Remplacez votre map.xml par
<fragment
Android:id="@+id/map"
Android:name="com.google.Android.gms.maps.SupportMapFragment"
Android:layout_width="wrap_content"
Android:layout_height="match_parent" />
MODIFIER
Je dois faire ça aussi
importer Android.support.v4.app.FragmentActivity;
Avant de faire cela Cliquez avec le bouton droit de la souris sur projet-> propriétés-> chemin de construction-> chemin de construction Java -> bibliothèques .. puis cliquez sur ajouter des fichiers JAR externes.
le aller à
utilisateur\Android-sdks\extras\Android\support\v4
et sélectionnez Android-support-v4.jar
PS: Faites tout cela à condition que votre clé API soit correcte. Si vous la clé API est fausse, alors elle n’affiche qu’un écran blanc
essayez d'ajouter
GoogleMap googleMap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
et remplacez votre xml par
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/map"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:name="com.google.Android.gms.maps.MapFragment"
/>
vous avez ajouté le code suivant en dehors de la balise d'application à la place de l'insérer dans la balise
<uses-feature
Android:glEsVersion="0x00020000"
Android:required="true" />
<permission
Android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
Android:protectionLevel="signature" />
espérons que cela pourrait aider quelqu'un qui est confronté au même problème
Ce problème peut provenir de la clé d’API ou vous pouvez simplement vérifier votre empreinte digitale SHA1 dans la console de l’API de votre projet ( https://console.developers.google.com/project ) et votre Windows Eclipse -> Préférences -> Android -> La construction sont les mêmes, sinon, il suffit de mettre à jour le SHA1 à partir de la console pour construire le chemin ou vice versa.
Pour maintenir la sécurité du système et des utilisateurs, Android demande aux applications de demander une autorisation avant de pouvoir utiliser certaines données et fonctionnalités du système. En fonction de la sensibilité de la zone, le système peut accorder l'autorisation automatiquement ou demander à l'utilisateur d'approuver la demande.
https://developer.Android.com/guide/topics/permissions/index.html
Très probablement, votre problème sera résolu lorsque vous vous assurerez que les points mentionnés ci-dessous:
Activer l'API Google Map
Utilisez le nom de package correct lors de la génération de la clé API (dans mon cas, c'était l'erreur) .. et cela semble également poser problème dans votre cas, car le nom du package semble être incorrect (com.example.mapdemo)
Assurez-vous que vous utilisez le fichier de magasin de clés correct pour générer le fichier SHA1.
J'espère que cela vous sera utile.