Join David Gassner for an in-depth discussion in this video Demonstrating the finished apps, part of Building Mobile Apps with Google Maps Android API v2.
In this course, I'll be building a couple of different Android apps. One of them is a sample app that will continually change its features. That'll be used to show off different way that you can use and manipulate Google Maps in your applications. But there's one finished app that I'm going to show you how to build that's already deployed in the Google Play Store. You can install it on any Android device that has Android 3.0 or Honeycomb or higher. To find it, go to the Google Play store, and search for explore California Tool Finder.
That should take you to the app at the top of the list. You can select and install it, when you install it, take a look at all the different app permissions. You'll see that the app uses local storage, and network communication, system tools, and accounts. I'll accept the permissions and that installs the app, and it's immediately ready to use. I'll open the application and it reads an embedded xml file into memory and imports it into a local database.
On the lists screen, you can filter using one of these labels. Cheap, which gives you inexpensive tours, and fancy, which gives you more expensive tours. On the menu you'll see an item labeled Google Play License, and when you select it, the app will switch to landscape orientation and display a license that's provided by Google. You'll learn how to do that during the course. When you go back to the list screen, you can select all and see all items on the list, and then you can choose an item from the list.
That'll take you to a detail screen, that shows details from the data, but also locates the tour on a map. And, this is a live Google Map. You can pan, you can zoom, you can rotate, and otherwise manipulate it. And there's one more feature in this small sample application. When you touch the more detail's item at the top, you'll be allowed to go to another mapping application, if your device only has Google maps, you'll go there right away but if you have both Google Earth and Maps, or any other mapping applications, you'll be asked to choose one.
I'll choose Maps, and touch just once. And that takes me to the Google Maps application, and displays the location. I'll touch the back button a couple of times. And then I'll touch the More Details item again, and this time I'll go to Google Earth. And Google Earth animates, and takes me to Napa Valley. So that's a quick tour of one of the sample applications I'll teach you how to build during this course.
Again, it only works on the latest versions of Android, 3.0 and higher. That doesn't have anything to do with the capabilities of Google Maps. You can use the Google Maps as DK to build apps that go all the way back to Fro Yo or Android 2.2. I've limited this app just to minimize the amount of work I had to do on the user interface. But I hope that this sample App helps you see some of the things that are possible, integrating the Google Apps Android SDK with your own Android Apps.
Note: An Android device with Android 3.0 (Honeycomb) or higher, and that has Google Play Store installed, is required to use the course exercises. (Kindle Fire and Nook devices do not qualify.) Finished mapping apps can be deployed on Android 2.2 (Froyo) or later.
- Setting up the developer tools
- Adding required permissions
- Getting a Google Maps API key
- Importing and linking the Google Play services
- Setting a map's initial state
- Geocoding an address
- Getting the current location programmatically
- Adding map markers
- Handling marker events
- Drawing lines, polygons, and circles
- Adding maps to existing apps
Skill Level Intermediate
Q: In the Chapter 2 movie "Checking the device for the Google Play services APK," when I create my first Google Maps app, the app crashes when I call the custom method servicesOK(). The error in LogCat starts with: "java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value." How do I fix this?