Reputation: 559
Hi I recently followed Vogella's tutorial on Google Map API v2. The code is similar to his. But for some reason the map shows up blank and the logcat shows no error either. I also followed this video to get the SHA1 finger print then I put the API key inside the manifest file. I used the debug keystore C:\Users\UserName.android\debug.keystore which is also the default debug keystore located in Eclipse -> Windows -> Preference -> Android -> Build.
I also generated a new API key and it still doesn't work.
Manifest file:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.barcodelibrary"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="15" />
<permission
android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera.flash" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SET_DEBUG_APP"></uses-permission>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".HomeActivity"
android:label="@string/title_activity_home" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ScanActivity"/>
<activity android:name=".MapActivity"/>
<activity android:name=".BarcodeHelper"/>
<activity android:name=".JsonHelper"/>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="my api key" />
</application>
</manifest>
This is my layout file for the map activity:
<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=".MapActivity" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment" />
</RelativeLayout>
This is my map activity:
public class MapActivity extends Activity
{
static final LatLng HAMBURG = new LatLng(53.558, 9.927);
static final LatLng KIEL = new LatLng(53.551, 9.993);
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
.title("Hamburg"));
Marker kiel = map.addMarker(new MarkerOptions()
.position(KIEL)
.title("Kiel")
.snippet("Kiel is cool")
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher)));
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_map, menu);
return true;
}
}
Thanks!
Upvotes: 25
Views: 46737
Reputation: 393
Confirm that your api-key is correct. and you can also try to remove restrictions from the API key
Upvotes: 0
Reputation: 4330
my answer in other post is what actually works for me, i paste the App signing certificate sha-1
Upvotes: 0
Reputation: 16521
I had to add the correct SHA-1 certificate fingerprint to my Google Developer Console.
Display the current fingerprint: keytool -list -keystore ~/.android/debug.keystore
Copy the fingerprint (e.g. 48:6F:55:B7:C5:E4:54:E1:29:D5:E1:E1:E2:A8)
Add it to your credentials for that particular app in Google Developer Console
Upvotes: 2
Reputation: 2967
In my case it was an existing app that I cloned from GitHub and did not change the API Key. What worked for me is to enable the SHA-1 of my signing certificate. Follow these short instructions to get a SHA-1 fingerprint.
Then I had the main developer add my SHA-1 fingerprint to the authorized packages for his relevant API Key here. Then I did the build again in the same way and it worked.
Upvotes: 0
Reputation: 33
if it didn't work though,follow this
Solving the blank screen issue on maps: Hi there ,i have been through this blank screen for a very long time and tried out all solutions u can imagine.Now it solved and the steps were:
1-Go through all steps of this tutorial carefully.
2-If the blank screen still the same ,delete you debug key store file that exists in c:\Users\youUser.android\debug.keystore <-- delete this file
3-On the eClips IDE rebuild your app so it will automatically re create this file. 4-On eclips go to Window-->preferences-->android-->Build copy the fresh generated SHA1 and then follow the normal key generation steps . 5-Run on your real device ,and i hope you'll see your map :)
Upvotes: 2
Reputation: 2040
Most people forget to activate the Google Maps Android API V2 in the developer console, I activated it and voila, my map appeared.
Upvotes: 0
Reputation: 2636
For me it turned out that I didn't enabled the Google Maps Android API v2
. We were using another Google Maps API which I assumed to be the same.
Upvotes: 10
Reputation: 13031
Android Studio: make sure you put your key in the right hierarchy
Upvotes: -1
Reputation: 543
I have a similar issue, where debug was ok, but blank screen on release. API keys were fine.
What worked is replacing this :
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/google_maps_key" />
By this
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXGNc" />
Add directly your api key without ressource string
Upvotes: -2
Reputation: 2981
I 've got a similar problem with the map. After fixing all lib and key problems, I just saw a white sreen labled with "Google".
The problem was, that I put the MapFragment
into a ScrollView
. After removing the ScrollView
everything works fine. I can see the map.
Upvotes: 1
Reputation: 181
Set custom keysote to the same as default one (Eclipse). And register a API key in google console as it's said in documentation.
Upvotes: 0
Reputation: 69
You Must Run your app in amulator having Following Configuration.... 1) Google API(x86 System image) 2) select checkBox indicating Use Host GPU..
Upvotes: 0
Reputation: 31996
You have couple of permission issues with your manifest. First, in the following you need to replace the package name with your package, you also need to as a uses-permission
<permission
android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
per your package name, should be --
<permission
android:name="com.example.barcodelibrary.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.barcodelibrary.permission.MAPS_RECEIVE"/>
Finally, you seem to be missing the following permissions from the specifying permissions section of the Getting Started guide --
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Upvotes: 28