Introducing our new Google Maps Android API v2 Module in the Appcelerator Marketplace

Row of server cabinets with computer and digital displays full of data, numbers, and blue blinking lights and leds, arranged in circular rows. Computer servers fill a room of a futuristic data center, used as a cloud computing and data storage facility. Room is illuminated by blue light. Low angle view. Supercomputer simulation, digitally generated image.

I am happy to announce our new Google Maps Android API v2 Module.

As of March 3, 2013 Google will no longer issue new keys for v1 of the Google Maps Android API, which is used in our current Titanium.Map implementation (part of the Titanium SDK). In response to this, we have built the v2 version of the Google Maps Android API as a module and it is now available on the Appcelerator Marketplace.

Our new Android Google Maps module not only works with the new API v2 keys, but also allows you to offer even richer, more interactive maps to users of your Android applications. New features include:

  • Support for multiple map views
  • Draggagble map annotations
  • Variety of annotation colors
  • Ability to display Traffic Conditions
  • New UI controls and gestures
  • and more…

All new Android apps that need map capabilities should use this module. Current Android apps using the existing Titanium.Map API will continue to work until Google shuts down the v1 API servers. In the meantime, you can migrate your existing apps to the new module on your own schedule.

This is a free open source module, compatible with Titanium SDK 3.0.2 and greater. As part of our larger goal to provide more flexible SDK updates and faster feature rollouts, we are providing this feature as a module rather than exclusively as part of the SDK.

Please read our documentation for further information.

We welcome your feedback on this module and please let us know if you like this new way of distributing SDK features.


  1. Great News and very good module for me ! I have just tested ; clear example and good documentation .

  2. My guess for the reason why it has not been included in the core SDK is that it gives an indication of the direction of future development of Titanium.

    Given that the various phone platforms are increasingly diverging in the ways they implement functionality and that Titanium is going to grow from 2 supported platforms to 4 by the year end means that adding in platform specific changes to the core will make it large and heavy.

    Better to use the module method where you bolt on functionality as you need it. It makes your released code smaller and means the Appcelerator guys can respond quicker to new advances.

  3. […] the new Google Maps Android API v2 module for Android. V1 is being […]

  4. Hi, I tried the new module and everything seems to working fine except one thing:

    All my annotations are being added to the map correctly, but when I click one and it should show the title/subtitle pop the app just crashes. I’m testing this on my sony xperia j. Titanium sdk 3.02. And the annotation title and subtitle are just static info so there’s nothing wrong there. Am I missing something here or is this a bug that needs fixing?

  5. I agree with other commentators; The module should replace the current Ti.Maps for Android in lieu of version 1.

    @Darren, I think having different Modules added to your project will result in the same size & heaviness… Also, I think when Ti compiles the project for a certain platform, it ignores the others, reducing it to only platform specific modules/features. If anyone knows, please correct me.

  6. In the future, this module will be delivered with our SDK. Providing it this way, through the marketplace, enabled us to deliver it faster without having to deliver a new version of the SDK. We believe that this type of initial delivery mechanism will allow us to respond to requests and needs of the community faster. Please keep the comments coming.

  7. So, I found a way round the crash. When you use the annotations property directly when you are creating your mapView it does work. So the addAnnotation method of Modules.Map.View can’t be used anymore after the creation of the mapview.

  8. I’m having a problem with this module, i need to open the balloon on the first tap on the annotation, and then, when the user tap on the balloon, a new window should open.
    However i tried to catch click events, and balloon doesn’t fire any event.
    Anyone has this problem? Any workaround?

  9. Put this in alloy.js:
    Alloy.Globals.Map = require(‘’);

    Then you can use this in your views:

    I’m having the same problems as Jordy though, but I saw an issue was already made for Annotation-related problems in general.

  10. The XML got filtered, this is what it should be:

    [less-than] View id=”map” ns=”Alloy.Globals.Map” /[greater-than]

  11. I am unable to get the module in the android. I am using Titanium SDK 2.1.3.

    Please suggest. Is that not works with 2.1.3?

  12. Stefan:
    I’ll end up with:
    Message: Uncaught TypeError: Cannot call method ‘createView’ of undefined
    [ERROR][TiExceptionHandler( 1541)] (main) [1,3348] – Source: $ = A$(Alloy.Globals.Map.createView({

    When I use it like this. Am I missing something?

  13. They shouldn’t drop important v1 features like the ability to take more than one action after the user clicks on a pinned location. With v2, only 1 action is supported, which of course has to be directions. Our LOB app requires ability for a single-click to a) get directions to site, b) call site or c) email site. One image doesn’t cut it…

  14. Hi,

    I got this error message when i use the map and android :

    04-03 15:38:48.187: E/TiApplication(5918): (KrollRuntimeThread) [92,842] Sending event: exception on thread: KrollRuntimeThread msg:java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1331]: 139 cannot locate ‘_ZN8titanium13TypeConverter19jsValueToJavaObjectEP7_JNIEnvN2v85LocalINS3_5ValueEEEPb’…

    I follow the config guide :
    -> SDK 3.0.2
    -> get the key from google.
    -> tiaap xml configs.
    -> put the files in files in ressources/module/android.

    Tks a lot for your help

Comments are closed.