View Single Post
Posts: 317 | Thanked: 787 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; 2011-11-25 at 18:43.

The Following 247 Users Say Thank You to dwaradzyn For This Useful Post:
aanckar, aBs0lut3z33r0, acvetkov, ade, adrianmilev, ahmadamaj, ajack, alephito, alexff, Alfred, AlMehdi, amh, AndiThebest, Andy1210, 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, prosper, Pyro1099, qosmio, quanttrom, Quasar, rabarkar, 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, sowwhatyoureap, 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_