Google Maps API v2 écran gris
Je suis en train de créer et d'application qui se connecte avec Google maps. Mais quand l'écran des charges où la carte doit être à sa juste gris. Comment puis-je résoudre ce problème?
L'important message de mon logcat.
06-11 03:32:55.196: E/Google Maps Android API(11671):
Ensure that the following correspond to what is in the API Console: Package Name: my pacakage,
API Key: my key,
Certificate Fingerprint: my fingerprint
L'Activité
import android.os.Bundle;
import android.view.Menu;
import android.support.v4.app.FragmentActivity;
public class mapPage extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_page);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Manifeste
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="my package"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<permission
android:name="my package.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="my package.permission.MAPS_RECEIVE"/>
<!-- Copied from Google Maps Library/AndroidManifest.xml. -->
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!-- External storage for caching. -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- My Location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- Maps API needs OpenGL ES 2.0. -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<!-- End of copy. -->
<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="my key"/>
<activity
android:name="my package.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>
<activity android:name=".main">
</activity>
<activity android:name=".mapPage">
</activity>
<activity android:name=".ThirdPartyWeb"
android:theme="@android:style/Theme.Dialog">
</activity>
</application>
</manifest>
La mise en page
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
android:layout_height="250dp"
android:layout_width="fill_parent"
class="com.google.android.gms.maps.SupportMapFragment"/>
<ImageView
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
android:layout_height="50dp"
android:layout_width="fill_parent"
android:background="@color/darkGrey"/>
<Button
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:layout_alignParentLeft="true"
android:id="@+id/menuButton"
android:background="@drawable/icon_menu"
android:layout_height="30dp"
android:layout_width="30dp"/>
<Button
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/menuButton"
android:layout_marginLeft="20dp"
android:id="@+id/"
android:background="@drawable/icon_off"
android:layout_height="35dp"
android:layout_width="55dp"/>
<EditText
android:layout_alignParentTop="true"
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/"
android:layout_marginLeft="20dp"
android:layout_toEndOf="@+id/"
android:id="@+id/seachBox"
android:hint="@string/search"
android:layout_height="35dp"
android:layout_alignParentEnd="true"
android:background="@color/white"/>
<Button
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_marginTop="10dp"
android:id="@+id/searchButton"
android:background="@drawable/graphic_search"
android:layout_height="35dp"
android:layout_width="20dp"/>
<ImageView
android:layout_above="@+id/newsFeed"
android:layout_centerInParent="true"
android:layout_height="35dp"
android:layout_width="fill_parent"
android:background="@color/darkGrey"/>
<TextView
android:layout_alignParentLeft="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_above="@+id/newsFeed"
android:layout_marginBottom="11dp"
android:textColor="@color/white"
android:text="@string/news_feed"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<ListView
android:layout_alignParentBottom="true"
android:id="@+id/newsFeed"
android:layout_width="fill_parent"
android:layout_height="wrap_content">"
</ListView>
</RelativeLayout>
Vous devez vous connecter pour publier un commentaire.
Ok problème résolu. Sur l'api de google console, il y a deux api google map v2. J'ai eu l'une pour l'api google maps v2 si vous regardez juste au-dessus d'elle, il dit google maps v2 android. J'ai allumé ainsi que une et la carte est en cours d'exécution.
Qu'il regarde à partir de l'erreur, il semble que vos configurations dans l'API Google Console est faux. Jetez un oeil à ce blog que j'ai écrit et assurez-vous que vous faites toutes les étapes correctement:
Google Maps API V2 Clé
@rajwant rai: peut-être que votre code est pour l'API v1, parce que j'utilise l'API v2 et un tel code n'est pas nécessaire.
@l'auteur: Ne vous tester sur le téléphone ou l'émulateur. Le téléphone doit avoir accès à certains services de google installé pour la carte de travail.
Comment préparer le travail de projet est plus décrite ici:
https://developers.google.com/maps/documentation/android/start
Il y a deux mode. mode release et debug mode, si vous voulez l'utiliser en mode release, alors u veux créer personnalisé fingure d'impression. le mode debug est le mode habituel.
https://developers.google.com/maps/documentation/android/start#obtaining_an_api_key
Voir Affichage du certificat de libération des empreintes digitales et de débogage de certification fingure d'impression dans doucmentation
essayez d'ajouter la suite de fichier manifeste (après une méta-balise de données)
J'ai eu le même problème, mais pour moi, l'application a cessé de fonctionner. J'ai trouvé que c'était une de problème avec debug.fichier de clés Eclipse générer. Il peut se produit quand:
debug.keystore
est d'obtenir à partir du répertoire localUSER_DIR.android\debug.keystore
debug.keystore
USER_DIR.android\debug.keystore
en quelque sortePour confirmer ce problème SHA1 de votre
USER_DIR.android\debug.keystore
et de la comparer avec celle de Android Console. Ils doivent être la même. Si ne pas essayer de générer de nouvelles Clé pour les apps Android par la suite ce guide.Une fois que vous arrivez ensuite mettre à jour votre
AndroidManifest.xml
fichieret nettoyer toute la
./bin
répertoire. Faire cela à la main, ne faites pas confiance Projet -> Nettoyer... option dans Eclipse. Désinstaller à partir du périphérique avant d'installer une nouvelle.Pour éviter ce problème à l'avenir ajouter votre debug keystore des pensions. Garder la libération dans le secret.