Tagged: api Toggle Comment Threads | Keyboard Shortcuts

  • pit 12:18 pm on March 17, 2010 Permalink | Reply
    Tags: api, bada, developers day, ,   

    Samsung Bada Developers Day: all we need is… a new OS? 

    Recently I had the opportunity of attending the Samsung Bada Developers Day in Milan, and I would like to share my first impressions about the Bada OS.

    First of all, let’s say that Bada is all but a new OS: Bada is actually a refactored and readapted version of the OS used for years by Samsung as their legacy OS. The good news is that now it has been made available and open to all developers, that can use all the APIs that were previously accessible to Samsung and its partners only.

    When I say open it means really open: API set is impressive, and it seems there’s actually nothing that has been left out. The comparison with other “modern” OS (e.g.: iPhone and Android) shows how Bada gives to developers a new level of access to the device and its features.

    Bada applications are built by using C/C++ code, but there is a good news for non C-speakers: Bada devices come with Flash Lite support (Samsung Wave ships Flash Lite 3.0) and you can package a Flash Lite application into a native one, and distribute it on the Bada App Store. But the good news are not ended, since the Bada architecture allows Flash Lite content to access every native API! This is huge, and as a Flash developer I cannot be more happy of this! :)

    Coming to the downsides: Bada applications cannot run in background, so no real multitasking is allowed. When an app goes in background, it is simply paused, and you can resume it from the active apps list. As for the development part, the SDK has currently some glitches, as the necessity to be restarted each time an application has to be deployed. Anyway, being not a final release, we can expect improvements in the next versions.

    Summarizing it up, the first “contact” with the Bada environment was good: the OS is powerful and open, with the Flash Lite support and native API access being actually the best parts in my opinion. The current only Bada device (the Wave) is fast, responsive and with a nice touchscreen (differently from what seen on some recent Samsung models, see H1).

    What remains to see is if all this good stuff will be able to gain a decent market share, and so if it’ll be worth to invest time and money on it.

    • Alessandro 1:10 pm on March 17, 2010 Permalink

      Ciao Alessandro,

      great information! I knew about FL 3 support, but the access to other API it’s new!! Very cool.

    • pit 1:16 pm on March 17, 2010 Permalink

      Yes, it’s definitely cool :)

      I’ve still not tested it by myself, but it seems that you have an open communication channel from Flash Lite to C++ to pass any kind of commands between the 2 layers. Will post here as soon as I have more information!

  • pit 10:13 am on February 25, 2010 Permalink | Reply
    Tags: api, , , ,   

    MidMaps: new Google Maps API for J2ME 

    I finally found some time to finish and publish the first release of a tiny library that allow to easily integrate Google Maps in every J2ME application: MidMaps.

    You can read all the details, download the library together with sample code, and read the full JavaDocs here: MidMaps – J2ME Google Maps library.

    • yama 10:05 am on April 22, 2010 Permalink

      i am using your library.yours is a nice application but the only problem is that it shows path as a straight line instead of road to road view.please help me out with a solution that how should i show such road to road path in my application.Thanking you.

    • Nicholas Ndegwa 9:41 am on January 1, 2011 Permalink

      Hi I like your API it works perfectly on the SUN emulator but does not work on the Nokia emulator nor Nokia device am getting the following error.

      map error:1000, java.io.IOException: Error in

    • Umesh 7:45 am on March 15, 2011 Permalink

      can we add important location like hotels,historical monuments, etc to static maps.

    • azura 4:01 pm on April 13, 2011 Permalink

      thnks for share :) i will practice it dude

    • Dileep 10:47 am on October 31, 2011 Permalink

      i am used to your library. but It give the
      java.lang.InstantiationException: Class not a MIDlet
      at com.sun.midp.midlet.MIDletState.createMIDlet(+66)
      at com.sun.midp.midlet.Selector.run(+22)
      Unable to create MIDlet DisplayMap

      How to i solve this problem.. Help me..

  • pit 11:16 am on February 10, 2010 Permalink | Reply
    Tags: api, buzz, ,   

    Google Buzz, first screenshots and impressions 

    Here are my first screenshots of Buzz, the Facebook-Twitter-alternative by Google, integrated into Google Maps for mobile, running on a Nokia N97:

    So what? Maybe I’m a bit disappointed after the Wave experience, but the first approach with Buzz was not great, at least on mobile (as I still have no Buzz on my Gmail account).

    Google is still working hard to release fully-featured clients but, right now, this app (or better, Buzz integrated in the Google Maps app) seems to have no utility at all. Apart from buzzing and seeing random buzzes around me, I cannot simply do anything else.

    Moreover, strange thing for Google products, the Buzz API is still in an early, almost useless phase.

    It’s just too early? Let’s hope :)

    • Alessandro 4:44 pm on February 11, 2010 Permalink

      Ciao Alessandro,

      today I turned the thing off!!
      There are some blogs reporting the privacy issue buzz is creating which is really crazy.

    • pit 4:50 pm on February 11, 2010 Permalink

      Yes, I’ve read the same security concerns around Buzz.. I still haven’t disabled it, but will probably do soon (also because I can’t actually see any utility in this tool right now… apart from letting me waste some time :))

  • pit 9:17 am on May 14, 2008 Permalink | Reply
    Tags: api, , , , map images   

    How to use Google Maps data within your mobile application 

    Note: You can find this article also on Forum Nokia Wiki: How to use Google Maps data in mobile applications

    Today we’ll see how to use Google Maps data within a mobile application.
    Google Maps offers REST services that allows accessing its data with simple HTTP requests, so we can easily integrate them within our mobile apps.

    Signup for a Google Maps API key

    First thing you must do is to signup on this page:
    Once done, you’ll get a key (a simple String) you’ll use for all your query to Google Maps services

    Static maps

    Standard Google Maps code is suited for web applications, since it includes alot of Ajax functionalities, that are not really useful if you’re building a mobile application. So, the solution is to use static maps service, that will allow us to retrieve single images, easily usable within our apps.

    Static maps service supports different image formats (png32, gif, jpg) and customizable image size, so that we can get perfect images for all our needs. As an example, suppose we want to retrieve the location at:

    • latitude: 41.867878
    • longitude: 12.471516

    We can simply retrieve this URL with an HTTP GET request:


    This way, we’ll get a PNG32 image, with a width of 240 pixels, and a height of 320, centered at point (41.867878,12.471516), and with a zoom level of 8 (zoom can go from 0 to a maximum level of 19).

    Google Maps static image sample

    Geocode an address

    From Google Maps docs:
    Geocoding is the process of converting addresses (like “1600 Amphitheatre Parkway, Mountain View, CA”) into geographic coordinates (like latitude 37.423021 and longitude -122.083739)

    So, let’s assume we want to build an application that displays the address typed by our user. We should firstly geocode its address to geographics coordinates.
    To do this, Google Maps offer another REST service easily accessible with simple HTTP requests.

    Let’s say you want to geocode this address “Leicester Square, London”, then you’ll request this URL:


    and you’ll get this output:



    • the first number is a code, that in this case (200) means that geocoding has been successfull (for a full list of status codes you can see here: [1])
    • the second number gives a measure of geocoding accuracy (from 0 to 9 – maximum accuracy)
    • 3rd and 4th numbers represent latitude and longitude of the geocoded address, so these are the coordinate we’ll use to retrieve the map through the static map service we’ve seen before

    As you can see, there is an ‘output’ parameter within the geocode request, and this means that we can choose the output format we prefer for our needs. Supported formats are:

    • xml
    • kml (same as xml, but with different Content-Type)
    • json (not really useful for mobile apps)
    • csv (comma separated values)

    Proxy server, usage limits

    Since your Google Maps API key is bound to a specific URL, to access map services you should setup a proxy server that will receive HTTP requests from your mobile application and forward them to Google Maps REST URLs, giving back Google responses to mobile clients.

    Also, be aware that there is a limit to the number of requests (both for static maps and geocode service) you can do each day. For personal uses they’re more than enough, anyway consider this point if you plan to develop commercial services.

    Google Maps J2ME API and sample application

    Now, you want code right? :) Here it is:

    Google Maps sample application screenshot

    • Francesco 4:37 pm on May 22, 2008 Permalink

      I’m trying to execute the code you posted on the Forum Nokia Wiki. I use the Sun Wireless Toolkit and the EsclipseME IDE.
      I get the following exception when invoking the retrieveStaticImage method:

      at javax.microedition.lcdui.ImmutableImage.(+11)
      at javax.microedition.lcdui.Image.createImage(+40)
      at GoogleMaps.retrieveStaticImage(+28)

      could you help me?

      thanks a lot,

    • pit 4:43 pm on May 22, 2008 Permalink

      Hi Francesco,

      this has probably something to do with illegal/corrupt data coming from server. If you try getting the map URL directly in your browser, does it work?

      Also, which format are you using for your static maps?


    • Francesco 12:06 pm on May 23, 2008 Permalink

      Hi Pit,
      thanks for your fast answer. I tried to change the format for the static map to png16 (I was using png32) and it works :D

      Now I have a problem with displaying the image: I can see just the first few pixels while the rest of the screen is black (width is alright, while the problem is with the height)

      My code is pretty simple:

      Image map = gMap.retrieveStaticImage(320, 240, lanLng[0], lanLng[1], 15, “png16″);
      Form f = new Form(“Image”);

      It is my first approach to midlets and I don’t really know what’s wrong. I also trying using canvas but I get the same result. Do you have any suggestion?

      thanks again,

    • pit 10:58 am on June 9, 2008 Permalink

      Hi Francesco,

      sorry for the delay of my answer, but I totally missed your reply… :-/

      Anyway, do you have this problem on emulators, or on real devices?


    • Olaseni 8:39 am on June 22, 2008 Permalink

      Please I need help in finding a source code for designing a map on mobile application, I intend using a scanned image for the map.

    • Paul 6:32 am on November 24, 2008 Permalink


      I’ve run into the same problem as Francesco. Only the first 50 or so pixels of the image from the top going down loads. This is in the emulator. Any thoughts on what may be happening would be much appreciated.

      Thanks for the great guide.

    • IKP Lab 1:32 pm on January 21, 2009 Permalink

      Try to use DataInputStream() and readFully(). That solved my problems which were the same like yours – approximately 50pix of the image were displayed on the screen. Hope it helps. ;)

    • ravi 7:25 am on February 12, 2009 Permalink

      i want to geocode in my midlet application can any one help me

    • Guzzler 1:24 am on February 17, 2009 Permalink

      Can you explain more the DataInputStream() and readFully() version?
      I replaced the InputStream() with DataInputStream() instead. I don’t understand how to use the readFully().Can you post the altered code like the examples above?
      I have the same problem with the black piece of the image. Thanks in advance.

    • Guzzler 1:36 am on February 17, 2009 Permalink

      Nevermind. My mistake. Found it. Thanks a lot guys! ;-)

    • Ernesto 7:09 am on May 12, 2009 Permalink

      Hello guys!!

      Guzzler, can you tell us what was your problem, please??? Im gettin a NullPointerException. I changed as Francesco said to png16 but it doesn’t work for me. As the matter of fact I can get the image by the URL in the browser, but not in code.

      Please can anybody help me out???

    • Preethi 5:42 pm on August 20, 2009 Permalink

      Hi Ernesto,

      Did you find a solution to your problem even i get the same exception …
      startApp threw an Exception

      Please help me to solve this problem…

    • vfede 4:59 pm on September 24, 2009 Permalink

      Ciao jappit,
      sto usando la tua ottima classe “GoogleMaps” del forum nokia per delle prove con J2ME, funziona tutto ma solo se tolgo tutte le var double e le sostituisco con int, altrimenti mi da un “Error preverifying class GoogleMaps”. sai indirizzarmi verso la soluzione del problema? come faccio riconoscere i double a J2ME? te ne sarei molto grato, grazie ^_^

    • Nilesh 1:02 pm on October 8, 2009 Permalink

      Hello All;
      I am Developing an Application to get current location on googleMap for that i got Api Key.
      I am developing this application on wtk & eclipse Ganymede. I am getting Exception
      at AT.RetrieveLocation.checkLocation(+288)
      at AT.RetrieveLocation.run(+12)
      thanks in Advance

compose new post
next post/next comment
previous post/previous comment
show/hide comments
go to top
go to login
show/hide help
shift + esc