Thread Tools
Posts: 317 | Thanked: 783 times | Joined on Oct 2009 @ Krakow, Poland
Hello fellow N900 users,
I am currently working on a GPS application named CloudGPS. It is a complete rewrite of J2ME version (see here) to N900 using C and OpenGL ES for smooth operation.

Your current location is shown as blue dot on screen. The dot turns green when GPS is fixed. The bars in upper right section of the screen show signal strenght of GPS satellites. They turn brighter for satellites that are currently active.

Touchscreen controls:
Tap zoom in/zoom out buttons to change zoom level by 1 or hold to change by few levels. Hold shift while touching zoom buttons to change zoom level by a fraction. Tap "my location" button (the one with blue dot) to toggle following your current location (and direction in 3D mode and when rotation is enabled in 2D mode). Goggles icon is used for searching. Compass icon shows current view direction and toggles rotation mode in 2D. Rest of screen is used for kinetic scrolling.

You can tap and hold anywhere on map to invoke popup menu. By choosing "Directions from here" or "Directions to here" you can start routing. Route has a green marker with letter "A" on starting point and green marker with letter "B" on destination. You can tap and hold one of those markers and then drag it (if you are near screen edge the map will scroll for you) to another place. This will trigger route recalculation.

Route is saved locally and when it was displayed during last CloudGPS session it will be restored without using network on next startup. Turn by turn instructions are displayed when current position is near route. Also distance to destination and distance to next instruction is displayed.

In 3D mode and when rotation mode is enabled upper part of screen is used to rotate view.

Important keyboard controls:
Arrows - scroll/rotate the map,
Dot - zoom out,
Enter - zoom in,
Space - toggle "follow me" mode,
Q - quit application,
N - switch to next tile provider. See /opt/cloudgps/providers.ini file.
Shift + N - switch previous tile provider.
R - next routing provider
Shift + R - previous routing provider

Additional keyboard controls:
B - [very experimental, new in 0.3.9] download (blocking operation) and show 3D buildings in near area, will work properly only for zoom 17 and higher,
G - [debug] toggle grid,
C - [debug] toggle current latitude and longitude and distance from current GPS position.
H - [debug] show tile arrays with states and visibility range
When Shift is pressed zooming behaviour is altered.
X - toggle accelerometer usage. Accelerometer is calibrated in the moment it is enabled.
S - switch to next search provider (currently CloudMade and Google addres search are supported)
O - add temporary marker on screen centre.
Backspace - return to previous position after pressing "my location" button.
Z - toggle offline mode.
U - [debug] route me here
D - route overview flyby. The camera will go to route start and then follow route till the end. Use at high zoom levels (17+).
M - toggle mipmapping (display quality)
P - force orientation change
V - show app version

When search bar is active keys are used as text input. Only ASCII characters supported right now. Use Enter to search query.

Tap on any map marker on screen to get it center.

Feel free to post what you think about it.

Here is a screenshot of this app:

You can install it from extras-devel (apt-get install cloudgps).
You can submit bugs/requests for enhancements here. And here are the sources (very very quick and dirty, not something to look at yet).

PS. The tearing effect is something Nokia should address ASAP. Please, Nokia, give us proper vsync.

Edit 1: It is now uploaded to extras-devel. I could not find it in application manager but I was able to install it by apt-get. Also not sure why standalone deb creates icon in Location and Navigation menu (I use catorise) but installed from repo land only into All apps. If you know how to resolve this issues, please post in this thread.

Edit 2: See preliminary roadmap in post #50.

About the uploaded to extras-devel version: It does not have much changes, some memory management added, added 3D mode (still needs much work to be usable though). Here is a screenshot:

Edit 3: Version 0.2.9 in extras-devel. New features include portrait mode and other tile sources. See post #90 for more info. Video review (thanks zetjotkah):

Edit 4: Version 0.3.10 has been uploaded to extras-devel. New features included are: instant zoom, experimental 3D buildings, compass icon, rotation mode in 2D, proper following of GPS position and direction and few optimizations and bugfixes. The goggles icon will be used for searching and is not usable in 0.3.9. See a preview video A screenshot:

Edit 5: Version 0.3.11 uploaded to extras-devel. This version should be rock stable and should load tiles much faster.

Edit 6: Version 0.4.4 uploaded to extras-devel. This version adds support for flyby to target and basic searching. For more information see this post. Screenshot:

Edit 7: Version 0.4.6 uploaded to extras-devel. Added Google address search (press S to switch between Google and CloudMade). Search is done in background in non blocking manner.

Edit 8: Version 0.4.7 uploaded to extras-devel and promoted to extras-testing. Added Google Local search.

Edit 9: Version 0.5.5 uploaded to extras-devel. Added routing. Screenshots:

New video preview available:

  • 1. What tool can I use to download tiles for off-line use?
  • On your N900 you can use ModRana. On your PC you can use Mobile Atlas Creator (homepage). Choose "OSMTracker tile storage" as atlas format so it would be compatible with CloudGPS. After downloading the tiles should be copied to /home/user/MyDocs/.maps/<Provider Name>. You should also add new provider to /opt/cloudgps/providers.ini if you use non-default one.
  • 2. How can I donate to this project?
  • Use this donate link. Thanks!

Last edited by dwaradzyn; 11-25-2011 at 02:43 PM.

The Following 245 Users Say Thank You to dwaradzyn For This Useful Post:
aanckar, aBs0lut3z33r0, acvetkov, ade, adrianmilev, ahmadamaj, ajack, alephito, alexff, Alfred, AlMehdi, amh, AndiThebest, Andy1210, Arus, atya, Ayodeji, baergaj, bandora, berlinermaxe, BertvanDorp, bharathkumarst, BLIZZARD, bobbydoedoe, br1zer, bunanson, Bundyo, bzhnjm, cashclientel, cfh11, Changegames, cheve, chill, Chrome, clasificado, clearorca, clob, CmdrKrool, codeMonkey, conny, coreyoconnor, crabsody, Crashdamage, cube48, Cue, CutterSlade, D4rKlar, dannu21, DarkSkies, DaSilva, datjomp, djdas, Dousan, drangina, ed00, eefo, El Amir, elie-7, elipsoid, eMiL, enlightener, esthreel, EugeneS, evan, Evilson, fmo, fms, fuyoh, fw190, galf, ghzroy, gill_za, gordonshowers, gregc2009, gs1, guyr, handaxe, hardkorek, Hellmur, hqh, Hterag, HtheB, ikirk, illo1977, inkirby, int_ua, ioan, ivgalvez, Jaykie, Jedibeeftrix, jer006, jmrk, johnel, john_hambo, JonWW, JorgeFX, jorjino, Joseph9560, jrinconr, juahan, jukey, jurop88, kamil365, kevloral, kmare, kojacker, krutznikov, larelogio, logicalsid, lookatbowen, lukash, madmaze, magic_doc, Magik, magnunor, Maj3stic, makel, manavs, Mandibela, Marcus, Marklar, MartinK, Maruzko, masloff, MasterZap, maximilian1st, MeeGoExperts, Mentalist Traceur, MetalGearSolid, MiK546, Mike Fila, miqu, mivoligo, moepda, mohi2k7, mpi, Mr. Incredible, Mr.Rent, mscion, mssusa, mveplus, mvuori, MyNokiaN900, N900L, nashith, Natan_xy, navsin, nayr, Nikem, nikolajhendel, nkirk, NokiaRocks, noobmonkey, oKtosiTe, OranAgra, osama, ossipena, Patola, pavlik, Perry3D, Petteri, phap, prankster, Pyro1099, qosmio, quanttrom, Quasar, rabarkar, ralmeidadearaujo, Razumichin, Reffyyyy, Reflektorfalke, reinob, Rob1n, robcmk, rok, rolfok, Russe89, sadfist, SaintGermain, sampppa, Sasler, scifi.guy, scyzor, shanttu, shazosbourne, shyampagne, sifo, Silvarum, simmy, skalogre, skykooler, Smily, sneer_69, Sohil876, Sourav.dubey, spanner, sr00t, SSLMM, stbu, Stealth131, Stonik, strange1712, Straycat, sula, superpj101, SwollyBoy, TeHeR, tetris11_, The Winter, thecubed, ThomasAH, thommy, Tiboric, titi974, ToJa92, tokag, tom047, Tovalisa, tpike, twaelti, uppercase, v13, vdx29, Veleno, Verssetti, victorevo, wimmme, wotevah, wow23, x-lette, xaccrocheur, xes, xiskillo, xperto, zdanee, zehjotkah, zeljkobo12, zeusone, zincholic, zoner, zvogt, zwer, [Knuckles], _invisible_
Posts: 73 | Thanked: 18 times | Joined on Feb 2010
looks nice!! just addimport track/route then it can be used for hiking/cycling. But before that: the library libgles1 needs to be installed:
apt-get install libgles1.

but thats not the only problem, but at least it lets you install cloudgps. Only when starting the application, it sits around for some time, trying to start, but then aborts.
Maybe some other libs missing?


Last edited by tredlie; 07-14-2010 at 05:30 AM.
Posts: 726 | Thanked: 345 times | Joined on Apr 2010 @ Sweden
If it depends on libgles1, I'd say something is broken. The N900 uses OpenGLES 2.0 and to write an application that's not using that sounds like a mistake.
Posts: 73 | Thanked: 18 times | Joined on Feb 2010
this is fast!!!!! as smooth as silk!!
will not be using on my biketour the coming four days (cyclemap and importing tracks is missing) but it looks good!!

keep up the good work and, yes, get it into the devel repos.


ps but sometimes it hangs, no idea why

Last edited by tredlie; 07-14-2010 at 06:04 AM.
Posts: 203 | Thanked: 151 times | Joined on May 2009 @ Austria
wow, very smooth
will it support google maps with search engine in future releases? google have the most points of interrest
Posts: 317 | Thanked: 783 times | Joined on Oct 2009 @ Krakow, Poland
Originally Posted by AndiThebest View Post
wow, very smooth
will it support google maps with search engine in future releases? google have the most points of interrest
That is a subject I wanted to be took up here. There are many doubts I would like someone to clear.

Firstly I have studied Google Maps terms of service thoroughly. To my understanding real time usage of GPS with their services is strictly forbidden. Storing content (map, search results) for offline use is also strictly forbidden. Access to service by any other mean than official APIs is strictly forbidden. I don't know of any official API other than in-browser javascript API that can be used for Google Maps. Therefore I think it is not possible to include Google services in my app because it would breach the terms of service.

I approach this delicate subject with a lot of caution. Indeed there are other apps using Google tiles. Maybe the authors of those apps have some kind of approval from Google that I should seek for?

Don't get me wrong. I want a proper Google Maps client on my N900 and I would be the first one to write one. But I won't (at least intentionally) even try to break any terms of service.

Can anyone shed some light on this? Is there a way to legally include Google Maps in such app? CloudGPS would especially benefit if it could use Google's geolocation and routing services.

The Following User Says Thank You to dwaradzyn For This Useful Post:
Posts: 317 | Thanked: 783 times | Joined on Oct 2009 @ Krakow, Poland
Originally Posted by Joorin View Post
If it depends on libgles1, I'd say something is broken. The N900 uses OpenGLES 2.0 and to write an application that's not using that sounds like a mistake.
Could you elaborate a little? I thought N900 fully supports OpenGL ES 1.1 and 2.0 and since PR1.2 all drivers and libraries are available for both versions. I found the API of OpenGL ES 1.1 fits my needs much more than OpenGL ES 2.0 for early stage of this project. It is indeed much simpler and I don't need shaders at all (at this stage). If there are significant performance (or other) advantages of using 2.0 I will surely consider switching to it.
d-iivil's Avatar
Posts: 2,153 | Thanked: 2,179 times | Joined on Dec 2009 @ Hellsinki, Finland
Whoa! Now THAT'S what I'd call a smooth user experience. Very promising
If you're rich and you think I deserve a cold beer, you may donate one or two :-P

80's style stadium rock is back - FIRENOTE
Hi-Octane heavy metal - FORCE MAJEURE
fw190's Avatar
Posts: 503 | Thanked: 485 times | Joined on Jan 2010 @ Poznań, Poland
Some dependencies are missing and I can't install it.
ToJa92's Avatar
Posts: 1,091 | Thanked: 322 times | Joined on Feb 2010 @ ~
Sounds like this could be a real replacement for Nokia Maps once you get routing sorted. Turn-by-turn spoken out directions would be cool as well

EDIT: After installing libgles1.2-1 or whatever dependency it had I get these errors:
Nokia-N900:/opt/cloudgps# ./
./ line 1: unsetenv: not found
/opt/cloudgps/cloudgps: error while loading shared libraries: cannot open shared object file: No such file or directory
(running as root, same result with user)
NITDroid forum, for everything NITDroid related.
Nokia N900[Power Kernel+CSSU] + GameGripper | Apple iPhone 4(32GB, iOS 6.0.1) | Apple iPad Mini(32GB, iOS 6.0.1)

Last edited by ToJa92; 07-15-2010 at 04:48 AM.

best gps app

Thread Tools

Forum Jump

All times are GMT -4. The time now is 07:57 AM.