Om 2008 Locations
From Openmoko
Contents |
Introduction
Locations (code name Splinter) is a UI application within the Diversity project. Locations uses OpenStreetMap allowing users to browse maps and manage saved locations called Tags.
Screenshots
User Case
In addition to downloading map images from the OSM server, Locations also supports local maps, which can be downloaded through the Installer. You can also create your own maps if your city is not available. For more information, refer to the [Create Offline Maps] section below.
Views
- MAP view
Use the MAP view to manage Tags with options to save, edit or send. MAP view also allows users to browse maps with zoom in and zoom out for accurate locating. If you get lost while browsing, simply tap the REFRESH button to return to your current position. It's that easy.
In list view, the user can see all the tags and click a tag item to go back to map view with the tag shown centralized.
Architecture
Splinter is an UI application, communicating with diversity-daemon dbus interface to get all the data it needs.
What Splinter does and shows is based on and through diversity-daemon, like tag management and sharing, map downloading, gps status, etc.
Design
Splinter used EFL library to implement the UI. Sync with Diversity-daemon, Splinter has objects, world, viewport concept. There is a dbus wrapper layer for diversity daemon. In pure UI part, we have widgets like dialogs, menus, different objects like tags, map tilesets, etc.
In control part, we have a nav object for controlling the navigation, showing the tileset.
Create Offline Maps
Splinter comes with a tool called splinter-map-pack. It can be used to pack tile images downloaded from OSM server into a map package:
splinter-map-pack /tmp/diversity-maps my_map.eet
Place my_map.eet in either of the directories
/usr/share/splinter/maps /media/card/splinter-maps
and Splinter will find it automatically.
Reference
[1] Diversity project - http://diversity.projects.openmoko.org/
[2] OpenStreetMap - http://www.openstreetmap.org/
[3] Assassin - http://assassin.projects.openmoko.org/