2013-01-22 219 views
0

在我的學習過程中,我必須開發一個基於谷歌地圖的應用程序,用戶應該在地圖上找到QR碼並掃描它們。android maps api v2

所以我創建了一個android應用程序,包括ggogle play lib和包括sdk庫。我想我已經創建了正確的API密鑰在我的賬戶谷歌控制檯whith SHA1我的computeur。

級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(); 

    } 
    } 

類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> 

可每個人都可以電話我爲什麼在我的地圖按鈕上有按鈕,我總是有一個白色的屏幕,有碎片或沒有,它與地圖視圖一樣。

+0

您是否獲得解決方案? –

回答

0

也許while循環是問題嗎?我沒有看到i的變化,所以這看起來是一個無限循環。

嘗試獲取在onResume()方法的參考GoogleMap沒有環,像

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

是的,我刪除了它,但我仍然有一個白色的屏幕與我的按鈕。 – user1999592

0

我覺得你得到了這個Image

目前,引用Google Android Map Api v2時,您無法在Android模擬器上運行Google Maps v2;您必須使用設備進行測試。

0

我不確定您是否故意不更新api密鑰的「my api key」值。

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

而且我不記得在該文檔中看到這一點,也許你應該將其刪除:

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

而且COARSE_LOCATION拼寫錯誤:

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

,您宣佈此兩次。呵呵。 =)

<uses-permission android:name="android.permission.INTERNET"/> 
相關問題