2015. augusztus 21., péntek

Marble Maps - Find your way and explore the world on Android!

Update 1: Google Play still not has the newest version, but it is incomming in the following days
Update 2: There is an open beta version now, you can get it from here from Google Play.

Marble Maps has the following features:
  • Wondering around on the map
    • You can move the map with one finger by dragging the map with it
    • It will increase the zoom if you touch double times fast to the map
    • You can also zoom with two fingers (only supported on multitouch devices)
  • Handling your position
    • You can check your position on the map
    • You can check the distance and direction to your position when your position is not visible
    • You can center the view to your position
  • Routing
    • You can plan routes via interactive placemarks, you have to search for something and after that, you can use the result as a waypoint
    • Also, you can modify the route instead of the interactive waypoints with the route editor which is available from the menu

    • To get the routing instructions, visit the menu too
    • You can select from three routing profile: with car, with bike or as a pedestrian
  • Navigation
    • You can navigate on the route what you have planned previously, or you can also navigate to a single destination
    • Marble Maps shows your position on the route with a different icon
    • It provides turn-by-turn based navigation
    • It uses the Text To Speech interface of the Android system to provide voice instructions. To use it, please install it from Google Play
    • It shows the next instruction and its distance too
    • The current speed and the distance to the destination is also visible 

Some techincal background:
Marble's base source code in this summer has become Android compatible. If you want an Android app can be built on the top of it. Any map can be loaded in, and all of the projections are available. It supports some plugins too.

And finally my personal experience about the summer:
I liked to work on this project very much because I have learned a lot of new things, like coding technics, I have got closer to QML and I also have had a deeper insight on how Android applications work. It was also good to work with the people of the community. I would like to thank to everybody who helped me this summer, especially to Dennis Nienhüser and to Torsten Rahn. Without them Marbe on Android would be still a dream.

Thank you Google for this fantastic opportunity!

But the story is not end here, so stay tuned...

2015. július 1., szerda

The Earth, on Android

In the previous month I worked on compiling Marble widget to Android. It was a long and hard road but it is here:

(I shot this screenshot on my phone)

The globe can be rotated, and the user can zoom with the usual zooming gesture. Here is a short video example:

The hardest part was to figure out, how to compile everything with cmake instead of qmake and Qt Creator. There are some very basic things what can sabotage your successfully packaged and deployed app. For example if you did not set a version number in cmake for your library...

As you maybe know Marble also uses some elements of QtWebKit, but this is not supported on Android. So I introduced some dummy classes to substitute these (of course, not in their useability) to be able to compile Marble for Android.

You can find here step-by-step instructions, how to compile Marble Maps for Android:

The next steps:
We have decided to separate Marble's functionality into two separate apps. I introduce you Marble Maps and Marble Globe. As their name suggests Marble Map will be essentially a map application with navigation, and Marble Globe will be an app where you can switch to other planets, view historical maps, etc. what also can be used for teaching purposes.

The main goal for the summer to give life for Marble Maps. But if everything goes fine, Marble Globe can be expected too.

To close this article, here are some screenshots:

2015. május 27., szerda

It is official, Marble is coming to Android

First, I would like to announce, I have been chosen as a Google Summer of Code student and my task is to provide a working version of Marble on Android at the end of the summer.
This is a very important for Marble, because Marble currently only available on Desktop and on same rare mobile platforms (Maemo, MeeGo) but on the most widespread platform (Android), not. It is very sad because it is more and more common in education systems that they use TVs, tablets and smartphones with Android so they can’t use Marble as an educational tool.
The supported Android platforms will be Android v2.3.3 (API level 10) and higher, because it will be ported with Qt for Android.

The work has been started. Stay tuned...

2014. szeptember 6., szombat

SOCiS 2014 is over

First of all I would like to say thank you to ESA and to Marble for this great opportunity. It was fun! I would like to say thank you especially to Torsten Rahn who guided me through the summer and to other people who helped me. I also want to thank to Maxime Perrotin who organized this and to everybody who helped in it. And now, about my work in the summer:
As you may now I worked on a new feature in Marble, supporting panoramas. I think everybody can imagine what this means. You can view for example panorama photos taken by rovers on Mars in Marble. Here is a little showcase:

But if you want, you can use it to other purposes too:

And now more technical informations about my work. I can split up my work to two big parts: reading, exploring, understanding the code and writing, plotting, debugging the code. A lot of time I have to refactor my code because to be more similar in style and in idea to the existing codebase, but I learned a lot from it.

In the summer I worked on the following things:
  • KMLs can be used with <PhotoOverlay> tags. Marble can handle them (on any planet) and mark them on the map with an icon specified by its style.
  • You can click on these marks, it will cause a popup like what will appear when you click on a placemark but it will contain a little preview image. This popup has other special abilitys too. It comes with a new button in the toolbar, which will create a new session for you. This will display your image. So just search for this button:
  • I meantioned before it will open a new session. This was an other fruit of this summer. I have put down the basics for session handling so you can return to your previous session after viewing a panorama. Just search for the "Close Session" button on the left. I'm sure more improvements will arrive in time.
  • And don't forget an other importent thing: when you opened a panorama you can open a new KML which will place its content in your panorama so you can achieve an effect like in Google's Streetview.
I still have more ideas how to improve this, so in the following months I know what will I do.

2014. július 11., péntek

SOCIS - 1. Status report

I'm currently participating in SOCIS and I code for Marble. My task is to implement a usable image and panorama viewer based on the standards of the kml language. More precisely I work on the correct handling of the <PhotoOverlay> tag.

My plan is to follow the example of Google Earth, so I dropped out the old PhotoOverlay visualisation method of Marble (just drawing the image to the screen) and approached the problem from a different way.

A PhotoOverlay is marked with a clickable placemark which shows a little popup information dialog when you click on it now. It displays the preview of the image and some information which can be specified under a <PhotoOverlay> object like name, description and location.

Here are some screenshots:

I used the content of http://mars.jpl.nasa.gov to create the screenshots.

For next, I will improve this with actually opening the photo, and visualising it in Marble as a zoomable, pannable plain image.

To be continued...