QTMapWidget
(→Disadvantages of current Maemo5 situation: add mention of proxy cache, and minor tweaks.) |
(→Wishlist) |
||
Line 25: | Line 25: | ||
== Wishlist == | == Wishlist == | ||
- | If you are a developer and are interested in using such a widget. What would be the things you really want to have? What do you | + | If you are a developer and are interested in using such a widget. What would be the things you really want to have? What do you explicitly don't want to see in such a widget? |
* Support for various map sources | * Support for various map sources | ||
Line 36: | Line 36: | ||
* Plugin concept for map sources | * Plugin concept for map sources | ||
* Built-in GPS support | * Built-in GPS support | ||
- | ** Position | + | ** Position indicator |
** Direction indicator | ** Direction indicator | ||
** Precision indicator | ** Precision indicator | ||
- | ** Ability to provide GPS position to main | + | ** Ability to provide GPS position to main application |
+ | * Built in compass and gyro support, to improve orientation | ||
+ | * Network positioning support | ||
* Overlays | * Overlays | ||
** Static overlays (don't move nor zoom with the map) | ** Static overlays (don't move nor zoom with the map) |
Revision as of 16:06, 11 June 2010
This page is intended to collect thoughts about a QT map widget.
Contents |
Why a QTMapWidget?
Maemo/Meego devices are mobile GPS based devices. A demand for mapping services is thus very obvious. The current situation in Maemo5 shows that leaving this task to the individual developers has several disadvantages for the developer as well for the end user.
Disadvantages of current Maemo5 situation
In Maemo5 there is no generic map widget. Thus various developers came up with their own solutions. Some of these were based on existing widgets (e.g. osm-gps-map), are ports of previous maemo4 projects (mappero) or are completely new solutions written from scratch. Few of these share the same map widget.
- Every developer had to implement his own solution
- Map tiles are stored/cached in different locations on the device
- Waste of bandwidth (one widget cannot re-use data cached by another one and needs to re-download it)
- Some map servers have limited bandwidth [1], one unified map widget may allow easier caching at one proxy server of all applications that use it.
- Waste of flash space as the same data is stored separately by different map widgets
- Waste of bandwidth (one widget cannot re-use data cached by another one and needs to re-download it)
- No central place for map cache maintenance
- No way to globally add new map sources
- No way to flush the map tile cache
- No way to prefetch map tiles for offline usage
- Individual look and feel for widgets addressing the same problem
- No interoperability (e.g. one app cannot display the track that was captured while another one was running)
- Some widgets don't work behind network proxies
- None of the existing widgets is really developer friendly
Wishlist
If you are a developer and are interested in using such a widget. What would be the things you really want to have? What do you explicitly don't want to see in such a widget?
- Support for various map sources
- Classic tile based sources (openstreetmap, google, yahoo, virtual earth)
- Simple/dynamic method to add more sources (also user specific ones)
- WMS data
- Vector data
- OSM vector data ("planet file")
- Map data stored by OVI maps
- Classic tile based sources (openstreetmap, google, yahoo, virtual earth)
- Plugin concept for map sources
- Built-in GPS support
- Position indicator
- Direction indicator
- Precision indicator
- Ability to provide GPS position to main application
- Built in compass and gyro support, to improve orientation
- Network positioning support
- Overlays
- Static overlays (don't move nor zoom with the map)
- Current position in textual representation
- Map center ("cross hair")
- Scale (metric as well as imperial)
- Zoom buttons
- Map source selection
- Dynamic overlays (move and zoom with the map)
- Waypoints incl. icons
- Tracks incl. a dynamic one built from GPS data
- Static overlays (don't move nor zoom with the map)
- Separate maintenance tool
- Limit/monitor tile cache size
- Clean tile cache
- Preload tiles for offline usage
- Refresh tiles
- Perhaps as a control panel plugin
Related resources
QT mobility location [2]
Existing widgets
We are not the first ones to work with maps under QT. What projects exist? Can they be re-used? What are their advantages and disadvantages?
QMapControl [3]
Pros:
- Lightweight
- Runs out of the box on Maemo5
- Supports WMS
Cons:
- Not actively maintained atm
- Lacks basic functionality (GPS integration, dynamic track cature, ...)
- Has some rendering problems under Maemo (track display)
- Google maps integration broken
QTMArble [4]
Looks pretty complex, do we want the basic map widget to be that complex?