2013-01-22 7 views
0

Pendant mes études, je dois développer une base d'application sur google maps, l'utilisateur doit trouver QRcode sur la carte et les scanner. Donc, je crée une application Android, y compris ggogle play lib et y compris la bibliothèque SDK. Je suppose que j'ai créé la bonne clé d'api dans mon compte google console whha SHA1 de mon ordinateur.cartes android api v2

classe java

package com.example.mapa; 

import android.annotation.SuppressLint; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import com.google.android.gms.common.GooglePlayServicesUtil; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.SupportMapFragment; 


@SuppressLint("NewApi") 
public class MainActivity extends FragmentActivity { 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // Show the Up button in the action bar. 
    getActionBar().setDisplayHomeAsUpEnabled(true); 
    GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); 
    int i=0; 
    GoogleMap map=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

    } 
    } 

classe XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" > 

    <fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment"/> 

</RelativeLayout> 

manifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.mapa" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="16" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_CORSE_LOCATION" /> 
<uses-feature android:glEsVersion="0x00020000" android:required="true"/> 
<permission 
android:name="com.example.mapa.permission.MAPS_RECEIVE" 
android:protectionLevel="signature"/> 
<uses-permission android:name="com.example.mapa.permission.MAPS_RECEIVE"/> 
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission  android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <uses-library android:name="com.google.android.maps"/> 
    <activity 
     android:name="com.example.mapa.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> 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="my api key"/> 
</application> 


</manifest> 

peut tout le monde peut tel moi pourquoi j'ai un bouton sur ma carte bouton J'ai un écran blanc tout le temps, avec des fragments ou sans, c'est la même chose avec une carte.

+0

Obtenez-vous les solutions ou non? –

Répondre

0

Peut-être que la boucle while est le problème? Je ne vois pas de changement de i donc cela semble être une boucle infinie.

Essayez d'obtenir la référence à la GoogleMap dans la méthode onResume() sans une boucle, comme

GoogleMap map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 
+0

oui je l'ai enlevé, mais j'ai toujours un écran blanc avec mon bouton. – user1999592

0

Je pense que vous avez obtenu le ce Image.

À l'heure actuelle, en faisant référence à Google Android Map Api v2, vous ne pouvez pas exécuter google maps v2 sur l'émulateur Android; vous devez utiliser un appareil pour vos tests.

0

Je ne suis pas sûr que vous n'ayez pas mis à jour la valeur "my api key" avec votre touche api.

<meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="my api key"/> 

Et je ne me souviens pas avoir vu cela dans les documents, peut-être vous devriez le retirer:

<uses-library android:name="com.google.android.maps"/> 

également COARSE_LOCATION est mal orthographié:

<uses-permission android:name="android.permission.ACCESS_CORSE_LOCATION" /> 

Et vous a déclaré ceci deux fois. hehe. =)

<uses-permission android:name="android.permission.INTERNET"/>