Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
435 views
in Technique[技术] by (71.8m points)

java - Google Maps API v2 shows blank map

I have set up an Android Application in order to view some things on a Google Map. I used the Google Maps API v2 and followed all the setup which can be found here. I even registered the application using a key that I applied for on Google's website.
I have been able to get the Activity running but every time I open it I am greeted with a blank screen.

The Blank Screen I am shown

This is my Manifest File

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

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

<permission
    android:name="com.stullich.tim.woistmeinphoto.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.stullich.tim.woistmeinphoto.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <uses-library android:required="true" 
        android:name="android.test.runner"> 
    </uses-library> 
    <activity
        android:name="com.stullich.tim.woistmeinphoto.PhotoGalleryActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape" 
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".FullImageViewActivity"
        android:screenOrientation="landscape" >
    </activity>

    <activity android:name=".MapViewActivity"
        android:screenOrientation="landscape" >
    </activity>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="Excluded this for now" />       
</application>

And This Is My Activity Where I Load The Map

package com.stullich.tim.woistmeinphoto;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

import com.google.android.gms.maps.SupportMapFragment;

public class MapViewActivity extends FragmentActivity 
{
   @Override
   protected void onCreate(Bundle savedInstanceState)
{
   super.onCreate(savedInstanceState);
   setContentView(R.layout.map_view_activity);

  SupportMapFragment fragment = new SupportMapFragment();
  getSupportFragmentManager().beginTransaction()
          .add(android.R.id.content, fragment).commit();
}
}

I have heard that not having the correct API Key used can lead to this problem, but I have triple-checked the key now and I don't think that is the issue.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

The Akhil solved the issue for me as well.

I am using OSX and the debug.keystore is located in $HOME/.android/debugkeystore. The password for the debug.keystore is 'android' as pointed in the Signing in Debug Mode documentation. You will need to execute keytool to get the SHA1 string

$> keytool -list -v -keystore .android/debug.keystore 
Enter keystore password:  

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: androiddebugkey
Creation date: Mar 7, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 5138a42f
Valid from: Thu Mar 07 15:29:03 CET 2013 until: Sat Feb 28 15:29:03 CET 2043
Certificate fingerprints:
     MD5:  BA:3C:6D:7A:4C:4A:AD:3E:65:DB:53:D1:3A:23:A3:4D
     SHA1: A5:38:93:50:7C:EA:55:22:51:1E:BC:EE:AA:A5:6D:A8:6C:B7:16:35
     Signature algorithm name: SHA1withRSA
     Version: 3

In the Google APIs Console you would need the SHA1 string A5:38:93:50:7C:EA:55:22:51:1E:BC:EE:AA:A5:6D:A8:6C:B7:16:35


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...