Editing QTMapWidget

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
-
This page is intended to collect thoughts about a Qt map widget.
+
This page is intended to collect thoughts about a QT map widget.
== Why a QTMapWidget? ==
== Why a QTMapWidget? ==
-
Maemo/Meego devices are mobile GPS based devices. A demand for mapping services is thus very obvious. The current situation in [[Open development/Maemo roadmap/Fremantle|Maemo 5]] shows that leaving this task to the individual developers has several disadvantages for the developer as well for the end user.
+
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 ===
=== Disadvantages of current Maemo5 situation ===
Line 12: Line 12:
* Map tiles are stored/cached in different locations on the device
* 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)
** 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 [http://wiki.openstreetmap.org/wiki/Tile_usage_policy], 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 flash space as the same data is stored separately by different map widgets
* No central place for map cache maintenance
* No central place for map cache maintenance
Line 20: Line 19:
* Individual look and feel for widgets addressing the same problem
* 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)  
* 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
+
* Some widget don't work behind network proxies
* None of the existing widgets is really developer friendly
* None of the existing widgets is really developer friendly
-
 
+
== 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 explicitly don't want to see in such a widget?
+
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 explicitely don't want to see in such a widget?
* Support for various map sources
* Support for various map sources
-
** Classic tile based sources (openstreetmap [http://www.openstreetmap.org], google [http://maps.google.com], yahoo [http://maps.yahoo.com], virtual earth [http://www.bing.com/maps/])
+
** Classic tile based sources (openstreetmap, google, yahoo, virtual earth)
-
*** Simple/dynamic method to add more sources (also user specific ones like [[Maemo-mapper topomaps]])
+
*** Simple/dynamic method to add more sources (also user specific ones)
-
** WMS data [http://www.ogc-services.net/]
+
** WMS data
** Vector data
** Vector data
-
*** OSM vector data ("planet file" [http://wiki.openstreetmap.org/wiki/Planet.osm])
+
*** OSM vector data ("planet file")
-
*** Map data stored by OVI maps [http://maps.ovi.com/]
+
*** Map data stored by OVI maps
* Plugin concept for map sources
* Plugin concept for map sources
-
* Built-in location support, options:
+
* Built-in GPS support
-
** GPSD: GPS position
+
** Position indicatior
-
** Liblocation: position (GPS, network), compass and gyro
+
** Direction indicator
-
** QT mobility location: position (GPS, network), compass and gyro
+
** Precision indicator
-
** Ability to provide location to main application
+
** Ability to provide GPS position to main applcation
* Overlays
* Overlays
** Static overlays (don't move nor zoom with the map)
** Static overlays (don't move nor zoom with the map)
Line 50: Line 49:
*** Waypoints incl. icons
*** Waypoints incl. icons
*** Tracks incl. a dynamic one built from GPS data
*** Tracks incl. a dynamic one built from GPS data
-
*** Location indicator (position, direction and precision)
 
* Separate maintenance tool
* Separate maintenance tool
** Limit/monitor tile cache size
** Limit/monitor tile cache size
Line 57: Line 55:
** Refresh tiles
** Refresh tiles
** Perhaps as a control panel plugin
** Perhaps as a control panel plugin
-
 
-
== Related resources ==
 
-
 
-
Qt mobility location [http://labs.trolltech.com/page/Projects/QtMobility]
 
== Existing widgets ==
== 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?
+
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 [http://www.medieninf.de/qmapcontrol/] ===
+
QMapControl [http://www.medieninf.de/qmapcontrol/]
Pros:
Pros:
Line 75: Line 69:
Cons:
Cons:
* Not actively maintained atm
* Not actively maintained atm
-
* Lacks basic functionality (GPS integration, live track capture, ...)
+
* Lacks basic functionality (GPS integration, dynamic track cature, ...)
* Has some rendering problems under Maemo (track display)
* Has some rendering problems under Maemo (track display)
* Google maps integration broken
* Google maps integration broken
-
=== Marble [http://edu.kde.org/marble/] ===
+
QTMArble [http://edu.kde.org/marble/]
-
 
+
-
Pros:
+
-
* Very active big developer community. Some core developers are involved with the Maemo / MeeGo project already. There are currently 3 GSoC developers working exclusively on Marble.
+
-
* Support for Maemo 5 and MeeGo. Early Maemo 5 packages available.
+
-
* Lightweight for what it does (100000LOC).
+
-
* Used in KDE as a generic map widget already.
+
-
* Supports OpenStreetMap, Google Maps, Yahoo, Custom Server Layouts. Basic WMS support.
+
-
* Online Routing support (via e.g. ORS).
+
-
* Support for position providers as plugins (gpsd, GeoClue, liblocation).
+
-
* Support for KML, GPS (support for OSM in the works).
+
-
* Different projections (sphere, Mercator, Equirectangular).
+
-
* Qt-Style API throughout the Marble Library.
+
-
 
+
-
Cons:
+
-
* Performance improvements for Maemo 5 necessary. However these are in the works.
+
-
* While the overall quality of the code is pretty good there is still some legacy code in a few places.
+
-
* I am very concerned regarding battery usage with this 3d approach as it puts a huge load (currently 100%) on the CPU even at low refresh rates --[[User:harbaum|harbaum]] 18:40, 12 June 2010 (UTC)
+
-
 
+
-
== Count me in! ==
+
-
 
+
-
We need some people who would like to contribute. Please state here if you want to contribute some of your time.
+
-
 
+
-
Widget coding:
+
-
* Till Harbaum
+
-
 
+
-
I have an application i'd like to use such a widget in:
+
-
* Till Harbaum (tool to visualize contact positions and to track friends)
+
-
 
+
-
UI-Design, Mockups:
+
-
[[Category:Development]]
+
Looks pretty complex, do we want the basic map widget to be that complex?
-
[[Category:Qt]]
+

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)