The QGraphicsGeoMap class is used to display a map and manager the interactions between the user and the map. More...
#include <QGraphicsGeoMap>
Inherits: QGraphicsWidget.
This class was introduced in Qt Mobility 1.1.
enum | ConnectivityMode { NoConnectivity, OfflineMode, OnlineMode, HybridMode } |
enum | MapType { NoMap, StreetMap, SatelliteMapDay, SatelliteMapNight, ..., MobileGrayStreetMap } |
|
|
QGraphicsGeoMap ( QGeoMappingManager * manager, QGraphicsItem * parent = 0 ) | |
virtual | ~QGraphicsGeoMap () |
void | addMapObject ( QGeoMapObject * mapObject ) |
void | addMapOverlay ( QGeoMapOverlay * overlay ) |
qreal | bearing () const |
QGeoCoordinate | center () const |
void | clearMapObjects () |
void | clearMapOverlays () |
ConnectivityMode | connectivityMode () const |
QPointF | coordinateToScreenPosition ( const QGeoCoordinate & coordinate ) const |
void | fitInViewport ( const QGeoBoundingBox & bounds, bool preserveViewportCenter = false ) |
QList<QGeoMapObject *> | mapObjects () const |
QList<QGeoMapObject *> | mapObjectsAtScreenPosition ( const QPointF & screenPosition ) const |
QList<QGeoMapObject *> | mapObjectsInScreenRect ( const QRectF & screenRect ) const |
QList<QGeoMapObject *> | mapObjectsInViewport () const |
QList<QGeoMapOverlay *> | mapOverlays () const |
MapType | mapType () const |
qreal | maximumTilt () const |
qreal | maximumZoomLevel () const |
qreal | minimumTilt () const |
qreal | minimumZoomLevel () const |
void | removeMapObject ( QGeoMapObject * mapObject ) |
void | removeMapOverlay ( QGeoMapOverlay * overlay ) |
QGeoCoordinate | screenPositionToCoordinate ( QPointF screenPosition ) const |
void | setBearing ( qreal bearing ) |
void | setCenter ( const QGeoCoordinate & center ) |
void | setConnectivityMode ( ConnectivityMode connectivityMode ) |
void | setMapType ( MapType mapType ) |
void | setTilt ( qreal tilt ) |
void | setZoomLevel ( qreal zoomLevel ) |
QList<ConnectivityMode> | supportedConnectivityModes () const |
QList<MapType> | supportedMapTypes () const |
bool | supportsBearing () const |
bool | supportsCustomMapObjects () const |
bool | supportsTilting () const |
qreal | tilt () const |
QGeoBoundingBox | viewport () const |
qreal | zoomLevel () const |
virtual void | paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * parent ) |
virtual QPainterPath | shape () const |
void | pan ( int dx, int dy ) |
void | bearingChanged ( qreal bearing ) |
void | centerChanged ( const QGeoCoordinate & coordinate ) |
void | connectivityModeChanged ( QGraphicsGeoMap::ConnectivityMode connectivityMode ) |
void | mapTypeChanged ( QGraphicsGeoMap::MapType mapType ) |
void | tiltChanged ( qreal tilt ) |
void | zoomLevelChanged ( qreal zoomLevel ) |
virtual void | resizeEvent ( QGraphicsSceneResizeEvent * event ) |
The QGraphicsGeoMap class is used to display a map and manager the interactions between the user and the map.
Most of the functionality is provided by QGeoMappingManager, which handles most aspects of the display.
The map viewport can be panned, the zoom level can be changed and the center coordinate of the viewport can be set explicitly.
The screenPositionToCoordinate() and coordinateToScreenPoisition() functions can be used to convert between positions on the screen and global coordinates.
Mouse and keyboard events should be handled by subclassing QGraphicsGeoMap and providing implementations of the event handling functions present in QGraphicsWidget.
Describes the method of obtaining the mapping data.
Constant | Value | Description |
---|---|---|
QGraphicsGeoMap::NoConnectivity | 0 | There is no map data. |
QGraphicsGeoMap::OfflineMode | 1 | The map data will come from an offline source. |
QGraphicsGeoMap::OnlineMode | 2 | The map data will come from an online source. |
QGraphicsGeoMap::HybridMode | 3 | The map data will come from a combination of offline and online sources. |
Describes a type of map data.
Constant | Value | Description |
---|---|---|
QGraphicsGeoMap::NoMap | 0 | Indicates a lack of map valid data. |
QGraphicsGeoMap::StreetMap | 1 | The map data is a graphical representation of streets and building boundaries. |
QGraphicsGeoMap::SatelliteMapDay | 2 | The map data is composed of images collected by satellites during the daytime. |
QGraphicsGeoMap::SatelliteMapNight | 3 | The map data is composed of images collected by satellites during the nighttime. For the online nokia plugin the SatelliteMapDay data is being used. |
QGraphicsGeoMap::TerrainMap | 4 | The map data is a graphical representation of terrain features. This may also include some of the information provided by QGraphicsGeoMap::StreetMap. |
QGraphicsGeoMap::HybridMap | 5 | The map data is composed of images collected by satellites during the daytime, on top of which there is a graphical representation of streets superimposed. |
QGraphicsGeoMap::TransitMap | 6 | The map data is a graphical representation of streets and building boundaries, on top of which there is a public transport scheme superimposed. |
QGraphicsGeoMap::GrayStreetMap | 7 | The map data is a color-reduced version of the QGraphicsGeoMap::StreetMap map data. |
QGraphicsGeoMap::MobileStreetMap | 8 | The map data is a mobile scheme (increased font and line size) of the QGraphicsGeoMap::StreetMap map data. |
QGraphicsGeoMap::MobileTerrainMap | 9 | The map data is a mobile scheme (increased font and line size) of the QGraphicsGeoMap::TerrainMap map data. |
QGraphicsGeoMap::MobileHybridMap | 10 | The map data is a mobile scheme (increased font and line size) of the QGraphicsGeoMap::HybridMap map data. |
QGraphicsGeoMap::MobileTransitMap | 11 | The map data is a mobile scheme (increased font and line size) of the QGraphicsGeoMap::TransitMap map data. |
QGraphicsGeoMap::MobileGrayStreetMap | 12 | The map data is a mobile scheme (increased font and line size) of the QGraphicsGeoMap::GrayStreetMap map data. |
This property holds the bearing of the map.
Value in degrees where 0 is equivalent to 90 degrees between view and earth's surface i.e. looking straight down to earth.
Changes to this property will be ignored if supportsBearing() returns false.
This property was introduced in Qt Mobility 1.2.
Access functions:
qreal | bearing () const |
void | setBearing ( qreal bearing ) |
Notifier signal:
void | bearingChanged ( qreal bearing ) |
This property holds the coordinate at the center of the map viewport.
Panning the map can be more efficient than changing the center by small increments.
This property was introduced in Qt Mobility 1.1.
Access functions:
QGeoCoordinate | center () const |
void | setCenter ( const QGeoCoordinate & center ) |
Notifier signal:
void | centerChanged ( const QGeoCoordinate & coordinate ) |
This property holds the connectivity mode used to obtain the map data.
Setting connectivityMode to a mode not present in supportedConnectivityModes() will do nothing.
This property was introduced in Qt Mobility 1.1.
Access functions:
ConnectivityMode | connectivityMode () const |
void | setConnectivityMode ( ConnectivityMode connectivityMode ) |
Notifier signal:
void | connectivityModeChanged ( QGraphicsGeoMap::ConnectivityMode connectivityMode ) |
This property holds the type of map data displayed by the map.
Setting mapType to a type not present in supportedMapTypes() will do nothing.
This property was introduced in Qt Mobility 1.1.
Access functions:
MapType | mapType () const |
void | setMapType ( MapType mapType ) |
Notifier signal:
void | mapTypeChanged ( QGraphicsGeoMap::MapType mapType ) |
This property holds the maximum tilt supported by the QGeoMappingManager associated with this widget.
Value in degrees where 0 is equivalent to 90 degrees between view and earth's surface i.e. looking straight down to earth.
This property was introduced in Qt Mobility 1.2.
Access functions:
qreal | maximumTilt () const |
This property holds the maximum zoom level supported by the QGeoMappingManager associated with this widget.
Larger values of the zoom level correspond to more detailed views of the map.
This property was introduced in Qt Mobility 1.1.
Access functions:
qreal | maximumZoomLevel () const |
This property holds the minimum tilt supported by the QGeoMappingManager associated with this widget.
Value in degrees where 0 is equivalent to 90 degrees between view and earth's surface i.e. looking straight down to earth.
This property was introduced in Qt Mobility 1.2.
Access functions:
qreal | minimumTilt () const |
This property holds the minimum zoom level supported by the QGeoMappingManager associated with this widget.
Larger values of the zoom level correspond to more detailed views of the map.
This property was introduced in Qt Mobility 1.1.
Access functions:
qreal | minimumZoomLevel () const |
This property holds whether bearing is supported by the QGeoMappingManager associated with this widget.
This property was introduced in Qt Mobility 1.2.
Access functions:
bool | supportsBearing () const |
This property holds whether tilting is supported by the QGeoMappingManager associated with this widget.
This property was introduced in Qt Mobility 1.2.
Access functions:
bool | supportsTilting () const |
This property holds the tilt of the map.
Value in degrees where 0 is equivalent to 90 degrees between view and earth's surface i.e. looking straight down to earth.
If tilt is less than minimumTilt() then minimumTilt() will be used, and if tilt is larger than maximumTilt() then maximumTilt() will be used.
Changes to this property will be ignored if supportsTilting() returns false.
This property was introduced in Qt Mobility 1.2.
Access functions:
qreal | tilt () const |
void | setTilt ( qreal tilt ) |
Notifier signal:
void | tiltChanged ( qreal tilt ) |
This property holds the zoom level of the map.
Larger values of the zoom level correspond to more detailed views of the map.
If zoomLevel is less than minimumZoomLevel then minimumZoomLevel will be used, and if zoomLevel is larger than maximumZoomLevel then maximumZoomLevel will be used.
This property was introduced in Qt Mobility 1.1.
Access functions:
qreal | zoomLevel () const |
void | setZoomLevel ( qreal zoomLevel ) |
Notifier signal:
void | zoomLevelChanged ( qreal zoomLevel ) |
Creates a new mapping widget, with the mapping operations managed by manager, and the specified parent.
Note that the manager will typically be accessed from an instance of QGeoServiceProvider:
QGeoServiceProvider serviceProvider("nokia"); QGeoMappingManager *manager = serviceProvider.mappingManager(); QGraphicsGeoMap *widget = new QGraphicsGeoMap(manager);
Destroys this map widget.
Adds mapObject to the list of map objects managed by this widget.
If mapObject is within the viewport of the map and QGeoMapObject::isVisible() returns true then the map will display the map object immediately.
The map will take ownership of the mapObject.
If supportsCustomMapObject() returns false and mapObject is a custom map object then mapObject will not be added to the map.
This function was introduced in Qt Mobility 1.1.
Adds overlay to the list of map overlays associated with this map.
The overlays will be drawn in the order in which they were added.
The map will take ownership of overlay.
This function was introduced in Qt Mobility 1.1.
This signal is emitted when the bearing of the map changes.
The new value is bearing.
This signal will not be emitted if supportsBearing() returns false.
This function was introduced in Qt Mobility 1.2.
This signal is emitted when the center of the map changes.
The new value is coordinate.
This function was introduced in Qt Mobility 1.1.
Clears the map objects associated with this map.
The map objects will be deleted.
This function was introduced in Qt Mobility 1.1.
Clears the map overlays associated with this map.
The map overlays will be deleted.
This function was introduced in Qt Mobility 1.1.
This signal is emitted when the connectivity mode used to fetch the map data changes.
The new value is connectivityMode.
This function was introduced in Qt Mobility 1.1.
Returns the position on the screen at which coordinate is displayed.
An invalid QPointF will be returned if coordinate is invalid or is not within the current viewport.
This function was introduced in Qt Mobility 1.1.
Attempts to fit the bounding box bounds into the viewport of the map.
This method will change the zoom level to the maximum zoom level such that all of bounds is visible within the resulting viewport.
If preserveViewportCenter is false the map will be centered on the bounding box bounds before the zoom level is changed, otherwise the center of the map will not be changed.
This function was introduced in Qt Mobility 1.1.
Returns the map objects associated with this map.
This function was introduced in Qt Mobility 1.1.
Returns the list of visible map objects managed by this widget which contain the point screenPosition within their boundaries.
This function was introduced in Qt Mobility 1.1.
Returns the list of visible map objects managed by this widget which are displayed at least partially within the on screen rectangle screenRect.
This function was introduced in Qt Mobility 1.1.
Returns the list of visible map objects manager by this widget which are displayed at least partially within the viewport of the map.
This function was introduced in Qt Mobility 1.1.
Returns the map overlays associated with this map.
This function was introduced in Qt Mobility 1.1.
This signal is emitted when the map type changes.
The new value is mapType.
This function was introduced in Qt Mobility 1.1.
Reimplemented from QGraphicsItem::paint().
This function was introduced in Qt Mobility 1.1.
Pans the map view dx pixels in the x direction and dy pixels in the y direction.
The x and y axes are specified in Graphics View Framework coordinates. By default this will mean that positive values of dx move the viewed area to the right and that positive values of dy move the viewed area down.
After the panning has occurred the centerChanged() signal will be emitted.
This function was introduced in Qt Mobility 1.1.
Removes mapObject from the list of map objects managed by this widget.
If mapObject is within the viewport of the map and QGeoMapObject::isVisible() returns true then the map will stop displaying the map object immediately.
The map will release ownership of the mapObject.
This function was introduced in Qt Mobility 1.1.
Removes overlay from the list of map overlays associated with this map.
The map will release ownership of overlay.
This function was introduced in Qt Mobility 1.1.
Reimplemented from QGraphicsWidget::resizeEvent().
This function was introduced in Qt Mobility 1.1.
Returns the coordinate corresponding to the point in the viewport at screenPosition.
An invalid QGeoCoordinate will be returned if screenPosition is invalid or is not within the current viewport.
This function was introduced in Qt Mobility 1.1.
Reimplemented from QGraphicsItem::shape().
This function was introduced in Qt Mobility 1.1.
Returns the connectivity modes supported by the QGeoMappingManager associated with this widget.
This function was introduced in Qt Mobility 1.1.
Returns the map types supported by the QGeoMappingManager associated with this widget.
This function was introduced in Qt Mobility 1.1.
Returns whether custom map objects are supported by this engine.
Custom map objects are map objects based on QGraphicsItem instances, which are hard to support in cases where the map rendering is not being performed by the Qt Graphics View framwork.
This function was introduced in Qt Mobility 1.2.
This signal is emitted when the tilt of the map changes.
The new value is tilt.
This signal will not be emitted if supportsTilting() returns false.
This function was introduced in Qt Mobility 1.2.
Returns a bounding box corresponding to the physical area displayed in the viewport of the map.
The bounding box which is returned is defined by the upper left and lower right corners of the visible area of the map.
This function was introduced in Qt Mobility 1.1.
This signal is emitted when the zoom level of the map changes.
The new value is zoomLevel.
This function was introduced in Qt Mobility 1.1.