I had an android application that utilizes google maps.
I have followed the instuctions and made the app working in debug mode using the debug key.
I have retrieved my SHA-1 key from the debug.keystore found here.
c:\Users\myself\.android\debug.keystore
using
c:\Program Files\Java\jdk1.7.0_03\bin>keytool -list -v -keystore c:\debug.keystore
The map was showing fine whenever I used tethered debug by running the app from eclipse on my test phone (which ran android 2.3.6).
However, after finishing the app, in the published app the map did not show. What was visible were only grey tiles.
I know this is an issue with the API key.
So I created a new key, (and an apk with it) used it to generate a new API key from the google's console. I deleted the apk that was generated with the key, as it had the old ApiKey, and pasted the new api key here.
<com.google.android.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:id="#+id/mymap"
android:apiKey="my_api_key"
Then I re exported my project but this time used the same key that I had created the step before as they contained the same SHA-1.
However, still the map does not show and only grey tiles appear.
I have entered my SHA-1 key in the api console in the following way.
18:3E:1D:8C:xx:xx:xx:xx:xx:xx:xx:xx:xx:x:xx:1D:E1:08:32:8E;com.mycompany.mapapp
I tried to revert back to my debug key, but this time the debug app (running from eclipse) also did not show any maps.
my questions are the following.
Is this still the correct method to use? Because in the --https://developers.google.com/maps/documentation/android/start#obtaining_an_api_key -- google used different approach using fragments.
What am I missing ?
Is this method deprecated or should work ?
You're generating an ApiKey for the Google Maps V2, but you are using the v1 MapView com.google.android.maps.MapView.
On the Android Maps V2 API, the key is placed on the manifest, and you use com.google.android.gms.maps.MapView to show the map, using the Google Play Services Library.
I suggest reading the overview section here to learn how to setup your Project with the Google Play Services Library, and looking at the new API Reference here.
If you are developing google maps api. You need to have two sets of map api key. One map api key that is generated by using your SHA1 fingerprint from your debugging keystore, this map api key is to be used when you are debugging your app in eclipse and running it from there. The other map api key is generated by using your SHA1 fingerprint from official or production keystore, this map api key is used when you will signed or publish your app.
I think you are experiencing mismatch of your keys there since the map api key on the manifest is from debugging keystore and you have signed your app with your official keystore.
Also I think you are developing MapView. It is recommended now to use MapFragments now. I have links here that might help you.
Quick Start Guide: https://docs.google.com/document/d/1dFzZT0C782BxLkDIUEb711rmsbMmYPURFV_2Cdb36so/edit?usp=sharing
Trouble shooting thread if you encounter problems with MapFragment or Google Play Services Library:
Unable instantiate android.gms.maps.MapFragment
Also I have answers here in this How to/Error in declaring google-play-services-component that might help you.
Related
We have implemented Google Maps API V2 and it works fine in development. When the APK is signed and published in Google Play the maps doesn't appears.It loads with a blank White screen with MyLocation button and Zooming controls button.
How to make display the maps on the play store version.
And also,we have generated the Key with keystore file
And also iahd checked with is stackoverflow question:Google map not loading on normal devices but loads on test device(real device)
Still now the same problem exists for us
Thanks in advance for the help
When you test your application during development, you obviously used you Eclipse/Android-Studio debug key. This means that the IDE (Eclipse or Android Studio or w/e) sign your application automatically to save you the trouble, in order to test it fast. They key used for this signing is different than the one for publishing applications on Google Play.
So, you need to follow the instructions here: https://developers.google.com/maps/documentation/android/start
Following the guide, you should be able to generate a "release" key to use with your published application (instead of the debug key that you have been using until now).
I created an android app that shows google map using Google Map api V2 and it works well with me in my mobile.
But when I uploaded the apk of this app to (Google play store), it doesn't show my map.
Could anyone tell me why? and how to solve this issue?
Thanks in advance.
Your Maps API key is tied to the SHA1 signature of the keystore that is used to sign the app .apk. When you run your app from eclipse, a debug keystore is used, when you export your app for release, you use a 'real' keystore (it's SHA1 fingerprint is shown at the end of eclipse's export wizard).
So you have to create another Maps API key (to put in your manifest) corresponding with you release keystore for release.
Check Google's documentation here.
This is simple method. Select your project->Right click->Export android application. Fill all requirements. When exporting it will show your SHA 1 finger print. copy that and paste it along with package name in google console. You can see Certificate finger prints in screenshot.Use that SHA1 key.
Check whether you are using signed api key when you are exporting. Otherwise map looks blank.
Signed apk for release key procedure is here
Google Map Android API v2 can't display map in play store application
I recently changed my hard drive to my Pc and when I clone my project from github and add the google-play-services as a library I tried to open the google maps and I didn't get any error but nothing shown up. I can see only the zoom buttons and the my location icon. Do I have to regenerate the google-map-api-key for the new ssd?
Yes you need to get your currently generated key from debug.keystore folder and register it via the Google API Console, here is a blog post I wrote on how to do just that:
Generating Google Map API V2 key
Probably you'll have to regenerate your maps API key, as I gues you have a new certificate on your new hard drive. Use keytool to do that, like here:
https://developers.google.com/maps/documentation/android/start#the_google_maps_api_key
I know there are many other topics that have the problem with the Google Maps API displaying a grid instead of the map, and that is the problem I am having as well.
The difference is that I have had mine working before. I followed a bunch of tutorials and signed my application and all of that stuff, but a few days later the map went back to the grid.
I can just generate another release token, but I don't want to have to do that every time the map displays a grid, and the debug key isn't working like it should.
What do you all suggest?
When you signed the build, did you update the key which the Google Maps use?
Because if not you will get a blank map.
You will need to generate a new Google Maps API key with the keystore you used to sign the build and use this for the signed build.
https://developers.google.com/maps/documentation/android/v1/mapkey
You will then notice the maps will not work when built in Eclipse using the debug keystore but will when exported and signed. It's an annoying process.
Both in eclipse and when uploaded to Play Store the app just shows the grey grid and the custom markers I added but the actual map is not shown.
I am using the keys from the previous developer before me and the previous versions seem to work on Google Play but when I build it it fails to show the map.
Can anyone help me with this?
Only two reasons this would ever happen:
Your device does not have an internet connection or is otherwise unable to download the map tiles because of a firewall on your network etc.
You are using an API key for the maps library that doesn't match the certificate you are signing the apk with. Remember that Eclipse signs the apk with a debug key, and you use a different key for publishing. See this documentation for details on this.
Google Maps API key is connected to they keystore, you should ask the previous developer for the keystore and export your APK with it. Otherwise, you follow the steps in this post and when you get the MD5 fingerprint you sign up here to get new Google Maps API key.