2013-01-22 168 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"/> 
相关问题