OK, I'm having the weirdest bug right now : the Android application I'm working on is displaying a grey background instead of the map, such as below :
(source: hostingpics.net)
Here's the logcat :
04-25 15:08:42.082: E/Google Maps Android API(19139): Failed to load map. Could not contact Google servers.
04-25 15:08:42.082: W/Google Maps Android API(19139): Please add <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> into AndroidManifest.xml to ensure correct behavior under poor connectivity conditions.
I have NO idea what might have caused this. I only changed a small part of my code that was completely unrelated to the map. And besides, I tried reverting the changes I made, and it still didn't work. I tried adding the line the logcat gave me, changing the API key, re-installing the Google Play library, deleting the previous versions of my app on my tablet, basically pretty much everything that I read on the Internet. Still doesn't work.
If anyone has any idea what the problem might be, that would be great.
This problem is caused when there is a problem with your key or a problem with it's configuration in the Google API Console.
Go over this blog post I wrote on how to produce the key and integrate in in the console:
Google Maps API V2 key
if this is not helpful you can try to delete the dubug.keystore folder in you user folder, compile
some project in eclipe (which result in regenerating this key) and try to register it again.
UPDATE:
From the new error you posted, do you have this permission in your manifest file:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Try this: set the “Custom debug keystore” setting (empty by default) to the same value as the “Default debug keystore” in the Eclipse preferences.
Emil's post above helped me, I was getting the same error and realised that this was due to me changing the name of my project. I added the changed name along with the same SHA1 I had for my old project on a new line (leaving the one with the old name above) in the console and it seemed to work as normal.
Related
I am learning to build Android Google Map app on RAD Studio 11. However, I got crush when the app is being launched. If I change the API key point to another package name, the app can be launched but the map is empty.
Do anyone know what is the matter? How could I fix the problem? Many thanks in advance.
Regards,
Kenny
After several investigations, the problem of the crash is caused by that the following line should be added back into the file "AndroidManifest.xml"
uses-library android:name="org.apache.http.legacy" android:required="false"
Remark: The < /> bracket are removed from the line above in order to correctly display the line content. Please add them back when you put the line back into the .XML file.
After Android 6, support for the Apache HTTP client has been removed and starting from Android 9, that library is removed from the bootclasspath and which is not available to android apps by default. As such, the aforesaid line should be added back to the "AndroidManifest.xml" file.
First, an API key is mandatory.
You need to create a project in Google Cloud Platform and enable Maps SDK for Android. When it's done you will get an API key.
On your Firemonkey application, you can add a TMapView.
In project options > Application > Version info. > add a new line, with key apiKey and value the api key you get from Google.
You need to also check the Maps checkbox in the Entitlements List in the Project Options.
That's all. You can do it in All configuration or only Android 32/64 bits.
Check what version you run, and set the apiKey correctly.
Otherwise, this page describe you what I told : https://docwiki.embarcadero.com/RADStudio/Sydney/en/Mobile_Tutorial:_Using_a_Map_Component_to_Work_with_Maps_(iOS_and_Android)
If the Map is empty, it's possible that you didn't use the correct API.
I'm new to android development and I tried 2 tutorials to get the current location but neither of them work for me. I get the exact expected layout but instead of showing the location, it appears to be totally blank as if the command that sets the text field doesn't exist. The logcat doesn't show any exception that's why I didn't post it. Everything else looks normal.
I thought it might be something related to the permissions that must be ran in realtime starting from android 6.0 but this tutorial that I've tried deals with that issue, besides doesn't the lack of permissions throw a security exception ?
Here are the two tutorials that I've followed exactly as they are:
http://demonuts.com/2016/12/30/get-current-location-android-studio/
http://www.viralandroid.com/2015/12/how-to-get-current-gps-location-programmatically-in-android.html
For maps to working you need to put google_maps_key into google_maps_api.xml which is under values folder. You get this key in google api manager.
I tried a lot of examples but still can't get it to work!
I have a grid with no maps and " couldn't get connection factory client".
I tried here and here and here and many others.
I tried to run it and on device but still the same.
Any ideas here?Any other good tutorial?
Thank you!
I see that you have tried my tutorial. The problem you describe usually happens when there is a problem with your key.
Please go over the next tutorial as well for getting your key:
Google Map API V2 Key
it this doesn't help you, try to delete the debug.keystore folder and run any android project to recreate a new key, and perform all the process of associating your key to your project using the console all over again.
And check again that you are adding all the permissions from the first tutorial in you manifest file.
this occurs when you use different key for the app in the manifest than the actual google project key. Try rechecking the key. I had the same problem, and figured it out the same way. It has nothing to deal with the code. Good Luck!
I followed the google maps tutorial to create a new google maps project, obtained an api key, included the , and the INTERNET permissions in the manifest file. Included
in the main.xml file, and followed the steps to modify the main.java file. The app will install to the emulator, but as soon as I click on the app, a notifications shows:
The application has stopped unexpectedly.
I have exhausted all resources, so hopefully someone can help. Thanks in advance for all of the help. Also, in the logcat, I am getting a number of errors after I "click" on the app in the emulator. One error in particular that I have read about, but not found a fix for is:
Caused by: java.lang.ClassNotFoundException: com.hutzley.TestMap.MyApplication in loader dalvik.system.PathClassLoader
Something in your app is trying to refer to com.hutzley.TestMap.MyApplication, and this class does not exist in your project. Since a reference from Java would typically generate a compile error, I recommend that you check your manifest, find where this is referenced, and change it to whatever it is supposed to be.
Make sure you are using one of the special emulator images which supports the Google APIs, without this you would be trying to run your app on an environment that lacks required libraries for maps to work.
I am new to Android software development and new to this site. I am hoping someone might have some experience with the problem I am having.
I've been following the Hello, MapView tutorial in order to not only learn the Android framework, but also the Google Maps library. I've tried my best to implement things exactly as the tutorial has instructed. My problem is that the application does load in my emulator (or even on my phone for that matter), but the map tiles do not load.
Searching Google I found a post by someone else on another site having the same issue, but his/her problem was that the important elements added to the AndroidManifest.xml file were not in the right order. I double-checked this in mine, but everything seems to be right.
So, I am not sure what the issue is and was hoping others have seen this before. I can provide any snippets of code, if that would help.
Thank you.
Non-loading tiles are usually the result of not having the API key set up correctly. Obtaining a Maps API key
To answer the response you left to d.: If you want to have it "just work" when you run from Eclipse you'll need to get an API key for your debug certificate. There's instructions on the same page as before. Do note that you'll have to swap back to your other key before publishing though.
I am guessing the issue is not that you have an incorrect map key, but that you do not have the proper keystore setup. The application needs to be signed by the same keystore you used to generate the map key. You've noted that you can get it to work when you sign the application yourself, but you need to setup a debug keystore in order to use the Maps API with regular Eclipse builds.
All Eclipse builds require a debug keystore; you just normally don't notice it because ADT generates one for you automatically. You should either follow the directions here and create your own debug keystore, or you should take the debug key that ADT automatically created for you (it'll show you where it created it in Windows > Preferences > Android > Build) and sign up for another Maps API key. That key will work with Eclipse.
(P.S., this does make it a hassle to compile for release, as you need to switch your key back and forth depending on the signing keystore.)
I had the issue of tiles not loading as well. As you mentioned your original post, one possibility is with the ordering of elements in the AndroidManifest.xml file. Specifically, I originally had the line:
<uses-permission android:name="android.permission.INTERNET" />
after the application element. Once I moved this line before the application element, my map tiles started loading again.
The tiles not loading is almost always a result of using an inaccurate API-key, i think. Have you checked yours?
Details: Obtaining a Maps API key
I had the same problem... my error was in the manifest file puting INTERNET permissions inside application. After moveing it out (upside) everying was working good.
Make sure you have 3g on the top panel. If you don't then there is no internet connection. Sometimes I have to turn the emulator on and off a couple of times to get 3g to come up.
d. is probably correct. However, Internet problems will also cause similar symptoms. Be sure that your INTERNET permission is properly positioned and that there are no proxy servers/firewalls impeding access to the Internet.
Another problem could be a proxy that you are behind. The proxy slows things down a lot and it will effect your app even though the maps app and internet browser in the emulator work fine.
This is old question, but here is one more answer: if you are as hasty as me, you might accidentally copy the finger print code instead of API key from the web page :)
The Hello, MapView tutorial your were talking about is no longer valid. New V1 map applications can no longer be done.
Follow https://developers.google.com/maps/documentation/android/ for Google Maps Android API v2 applications.