Archive for January, 2012

Earth to Google Maps set in Mercator projection – that is, is deployed on the plane cylinder, which gives us a rectangle that is divided into small squares (tiles) with dimensions of 256 × 256 pixels.

An example of a piece of card from Google:

Here you can see the following values
x = 285 y = 162 zoom = 9



To make it easier for you to add powerful mapping capabilities to your application, the Google APIs add-on includes a Maps external library, The classes of the Maps library offer built-in downloading, rendering, and caching of Maps tiles, as well as a variety of display options and controls.

The key class in the Maps library is MapView, a subclass of ViewGroup in the Android standard library. A MapView displays a map with data obtained from the Google Maps service. When the MapView has focus, it can capture keypresses and touch gestures to pan and zoom the map automatically, including handling network requests for additional maps tiles. It also provides all of the UI elements necessary for users to control the map. Your application can also use MapView class methods to control the MapView programmatically and draw a number of Overlay types on top of the map.

In general, the MapView class provides a wrapper around the Google Maps API that lets your application manipulate Google Maps data through class methods, and it lets you work with Maps data as you would other types of Views.

The Maps external library is not part of the standard Android library, so it may not be present on some compliant Android-powered devices. Similarly, the Maps external library is not included in the standard Android library provided in the SDK. The Google APIs add-on provides the Maps library to you so that you can develop, build, and run maps-based applications in the Android SDK, with full access to Google Maps data.

To use the classes of the Maps external library in your application, you need to:


Android Cloud To Device Message

Posted: January 29, 2012 in Android Dev

Google Reference:

Android C2DMs

This tutorial describes how to push information from a server to the Google device. It is based on Eclipse 3.7, Java 1.6 and Android 2.3 (Gingerbread).


This is the second part of a two part tutorial series on creating a simple networked game with Game Center matchmaking.

In the first part of the tutorial series, you learned how to enable Game Center for your app and find matches with other players using the built-in GKMatchmakerViewController.

In this second and final part of the tutorial series, you’ll learn how to look up player aliases, how to send and receive data between games, and how to support invites.

In the end, you’ll have a fully functional (but simple) networked game that uses Cocos2D and Game Center that you can play with your friends!

If you haven’t got it already, start by downloading the sample project where we left it off in the last tutorial.


Create a multiplayer racing game with Cocos2D and Game Center!

I’m experimenting with a new way of writing tutorials – by taking suggestions by you guys!

In the sidebar to the right (scroll down a bit), you’ll find a new section where you can vote for which tutorial comes next.

In the first vote, a bunch of you guys said you wanted a tutorial about making a simple multiplayer game (88 of you to be exact!) – so here you go! :]

In this 2-part tutorial series, you’ll make a simple 2-player networked game with Cocos2D and Game Center matchmaking.

The game you’ll be working with is very simple. It’s a racing game with a dog vs. a kid – tap as fast as you can to win!

This tutorial assumes you are already familiar with the basics of using Cocos2D. If you are new to Cocos2D, you might want to check out some of the other Cocos2D tutorials on this site first.

Note: To fully get through this tutorial series, you must be a registered member of the iOS developer program so you can enable your app to use Game Center. Also, you will need at least one physical device (so that you can run one copy on the simulator and one on your device). Finally, you will need at least two different Game Center accounts for testing (don’t worry, you can create more than one for free, you just need another email address).

Ready? On your mark, get set, GO!


Creating a book for Baker is like building a website, all you need to start is:

Assuming the points above have been taken care of, the next step is answering these questions:

  1. How will you divide your book in HTML pages?
    Baker books are composed by multiple HTML pages. Since HTML pages aren’t limited in length you can choose to have a whole chapter of your book on a single page.
  2. Which device will you target?
    Baker supports both iPhone/iPod and iPad, choose which platform you want to target and design your book accordingly.
  3. Which orientation will you target?
    Baker supports both landscape and portrait orientation, choose the one you like for your book… or provide a beautiful style for both.

If you have an answer for all these questions then you can really start to create your book. Remember that you can take advantage of all the HTML5 and CSS3 features and all the JavaScript libraries available for WebKit. If you want to test how your work is coming along, try your pages in Safari Mobile: Baker will render them in the same way.


iTunes Connect App Status Update

Posted: January 25, 2012 in iPhone Dev

Almost a year ago I created a flowchart to try and make sense of the various states an app can go through during the iOS App Store submission process. There have been some recent changes by Apple so I thought it was time I posted an updated version. There is an updated pdf version of the chart if you want a full size version.

As before the blue boxes indicate states that require action by the developer, the yellow boxes indicate actions are required by the App Store team and red boxes indicate the app has been rejected or withdrawn. Corrections are welcome if you have them.